我有两张表,a,b,字段都是一样的

date     name       sum
200710   张三         12
200710   李四         34
200710   王二         32b
date     name       sum
200710   张三         10
200710   赵六         20
200710   王二         40
然后得出的查询结果为
date     name       sum
200710   张三         22
200710   李四         34
200710   王二         72
200710   赵六         20
相同名字的sum进行相加啊
该如何写啊??
各位高手指点啊!

解决方案 »

  1.   

    类似这样.
    1.
    select a.date,a.name,sum(nvl(a.sum,0)) + sum(nvl(b.sum,0)) as sum
    from a full outer join b
    on a.date = b.date
    and a.name = b.name
    group by a.date,a.name2.
    select a.date,a.name,sum(nvl(a.sum,0) + nvl(b.sum,0)) as sum
    from a full outer join b
    on a.date = b.date
    and a.name = b.name
    group by a.date,a.name
      

  2.   


    最简单的方法
    select data_date,name,sum(data_sum) from 
    (
    select data_date,name,data_sum from a
    union all
    select data_date,name,data_sum from b)
    group by data_date,name
      

  3.   

    思路就是先union all再group by求和 其他方法都麻烦
      

  4.   

    select data_date,name,sum(data_sum) from 
    (
    select data_date,name,data_sum from a
    union all
    select data_date,name,data_sum from b)
    group by data_date,name
      

  5.   

    union all 的代价不低呀。
      

  6.   

    楼上你的方法也可以但是在数据多的情况下效率未必高于UNOIN ALL 加group by,呵呵,具体数据具体分析