select 字段名1,字段名2=sum(字段名2),字段名3=sum(字段名3)
from(
select 字段名1,字段名2,字段名3=0 from A表
union all
select 字段名1,字段名2=0,字段名3 from B表
)a group by 字段名1

解决方案 »

  1.   

    --搞错了,楼主是只要两个表匹配的,应该用这个:select a.字段名1,a.字段名2,b.字段名3
    from(
    select 字段名1,字段名2=sum(字段名2) from A表 group by 字段名1
    )a,(
    select 字段名1,字段名3=sum(字段名3) from A表 group by 字段名1
    )b where a.字段名1=b.字段名1
      

  2.   

    SELECT T1.字段名1,T1.字段名2,T2.字段名2 FROM (
    select  字段名1,sum(字段名2)  as  字段名2 from A GROUP BY  字段名1) T1,
    (select  字段名1,sum(字段名3)  as  字段名3 from B GROUP BY  字段名1) T2
    WHERE T1.字段名1=T2.字段名1
      

  3.   

    select a.field1,a.field2,b.field3 from (select field1,field2=sum(field2) from a group by field1) a join (select field1,field3=sum(field2) from b group by field1) b
    on a.field1 = b.field1
      

  4.   

    select A.字段名1,A.字段名2,B.字段名3
    from(select 字段名1,字段名2=sum(字段名2) from A表 group by 字段名1) AS A JOIN 
    (select 字段名1,字段名3=sum(字段名3) from B表 group by 字段名1 ) AS B 
         ON A.字段名1=B.字段名1