select a.*,b.pay_data,b.pay_money
from table1 a,(select person_code,pay_data,pay_money from table2 union all select person_code,pay_data,pay_money from table3) as b
where a.person_code=b.person_code

解决方案 »

  1.   

    select a.*,b.pay_money,c.pay_money
    from table1 a left join table2 b
    on a.person_code=b.person_code
    left join (select person_code,sum(pay_money) as pay_money from table3 group by person_code) as c
    on a.person_code=c.person_code
      

  2.   

    select A.person_code, B.pay_money, C.pay_money
     from table1 as A left join on table2 as B
      on A.person_code = B.person_code
     left join on table3 as C
      on A.person_code = C.person_code
      

  3.   

    sql server 2000SELECT table1.person_code,table2.pay_money,table3.pay_money 
      FROM table1, table2, table3
     WHERE (table1.person_code *= table2.person_code)
       AND (table1.person_code *= table3.person_code)
      

  4.   

    既然人员当年一定交费,就不用考慮table1:select A.person_code,A.pay_money ,B.pay_money
    from  table2 A left join table3 B on A.person_code = B.person_code
      如果你要TABLE1的信息,你自己按照上面改改就可以了!