以下的sql
select field1,field2 from t1 
union 
select filed1,field2 from t2
我想把union后的结果相加,这个怎么实现啊
比如现在是的结果是
1  2
3  4
我想得到的是
4  6
该怎么搞啊

解决方案 »

  1.   

    SELECT SUM(t.field1),SUM(t.field2)
    FROM (SELECT field1,field2 FROM t1  
    UNION ALL  
    SELECT filed1,field2 FROM t2
    ) t
      

  2.   

    select sum(field1),sum(t.field2) from
    (
    select field1,field2 from t1  
    union  
    select filed1,field2 from t2
    )
      

  3.   

    二楼正解,select sum(a), sum(b)
      from (select * from addtest
            union all
            select * from addtest2)
    ------
    union 会去掉两个表中重复的数据,如果不用union all 则可能计算不准确,建议使用union all
    select sum(a), sum(b)
      from (select * from addtest
            union
            select * from addtest2)
      

  4.   

    --直接外面加个聚合函数
    select sum(field1) field1,sum(field2) field1
    from (select field1,field2 from t1 
    union 
    select filed1,field2 from t2)
      

  5.   

    对要考虑个问题 要是有重复的 得用union all
    select sum(field1) field1,sum(field2) field1
    from (select field1,field2 from t1 
    union all
    select filed1,field2 from t2)