如:
    select c1,c2 from a
    union all
    select c1,c2 from b
将得到一个结果集,设这个结果集为c:
    a表
    ---------- 
    aa    1
    
    b表
    -----------
    aa    3
    bb    2    合并后的c表
    -----------
    aa    1
    aa    3
    bb    2那么如何对表c中的c1列进行统计呢?得到:
    -----------
    aa    4
    bb    2下面的方法我试过不行:
    select c1,sum(c2) from
    (select c1,c2 from a
    union all
    select c1,c2 from b) c
    group by c1,c2

解决方案 »

  1.   

    select sum(a.c2)+sum(b.c2) as c2,sum(a.c1)+sum(b.c1) as c1
    from a,b where a.c1=b.c1 
      

  2.   

    try.
    select   c1,sum(c2)   from 
            (select   c1,c2   from   a 
            union   all 
            select   c1,c2   from   b)   c 
            group   by   c1
      

  3.   

    只能用外连接来做,ojekleen的做法会使b表的bb 2这一行的数据丢失,ldarmy的做法与我提到的没有区别,这应该是微软在处理表合并的时候原理如视图,只是一个结果集,并不是真真的一个结果表。谢谢大家的关心!此问题结帖。