select a.name,(sum(a.data)+sum(b.data)) as data from 表a a,表b b where a.name=b.name
group by a.name

解决方案 »

  1.   

    select x.name,sum(x.data) as num from (
    select name,data from a
    union all
    select name,data from b
    ) x group by x.name order by num
      

  2.   

    select name, sum(data) from 
    (select * from A  
    union all
    select * from B)C group by name order by sum(data)
      

  3.   

    select c.name, sum(c.data) from 
       (select * from A 
         union all 
        select * from B) c 
    group by c.name order by sum(c.data)
      

  4.   

    select name, sum(data) from 
    (
        select name, sum(data) as data from A union all
        select name, sum(data) as data from B union all
    )
    t
    group by name order by sum(data)
      

  5.   

    呵呵,1楼的方法是有可能会造成数据不完整,比如表a里面的name 在表b里面没有出现过,那么这个name就统计不了了
      

  6.   

    select name, sum(data) from 
    (
        select name, sum(data) as data from A union all
        select name, sum(data) as data from B
    )
    t
    group by name order by sum(data)