select acc_nbr,sum(c1), sum(c2), sum(c3) from 
(
select acc_nbr,charge c1,0 c2,0 c3
  from A
union all
select acc_nbr,0 c1,charge c2,0 c3
  from B
union all
select acc_nbr,0 c1,0 c2 ,charge c3
  from C 
)
group by acc_nbr
A,B,C三个表结构相同,字段如下:
acc_nbr char(10)  charge int (10)

解决方案 »

  1.   

    select acc_nbr,sum(c1), sum(c2), sum(c3) from 
    (
    select acc_nbr,charge c1,0 c2,0 c3
      from A
    union all
    select acc_nbr,0 c1,charge c2,0 c3
      from B
    union all
    select acc_nbr,0 c1,0 c2 ,charge c3
      from C 
    )a
    group by acc_nbr
    --从结果集中查询要加别名
      

  2.   

    select acc_nbr,sum(c1), sum(c2), sum(c3) from 
    (
    select acc_nbr,charge c1,0 c2,0 c3
      from A
    union all
    select acc_nbr,0 c1,charge c2,0 c3
      from B
    union all
    select acc_nbr,0 c1,0 c2 ,charge c3
      from C 
    )a--这里,表别名
    group by acc_nbr
      

  3.   

    xeqtr1982回归,答题速度不逊当年!:)