select t.日期,t.数量
(select a.日期,sum(a.数量1+b.数量2) 数量 from a,b where a.日期=b.日期 gruop by a.日期
) t
order by t.数量 desc

解决方案 »

  1.   

    select a.日期,sum(a.数量+b.数量)
    from a,b
    where a.日期=b.日期
    group by a.日期
    order by total desc;
      

  2.   

    where a.日期=b.日期 
    这样不行,A表B表中 只要一个表 出现的日期就要加入统计结果.
      

  3.   

    是啊,他们都写的是错的。
    select 日期,sum(数量1) as cnt
    from 
    (select 日期,数量1
    union all
    select 日期,数量2)
    group by 日期
    order by cnt desc;
      

  4.   

    sbaz,是这样吗?select 日期,sum(数量1) as cnt
    from 
    (select 日期,数量1  form A
    union all
    select 日期,数量2  form B)
    group by 日期
    order by cnt desc;
      

  5.   

    SQL> select A1,sum(A2) as cnt
      2  from
      3  (select A1,A2 from a
      4  union all
      5  select A1,A2 from b )
      6  group by a1
      7  order by cnt desc;A1                 CNT
    ----------- ----------
    2006-1-1             9
    2006-1-3             7
    2006-1-2             5
      

  6.   

    实际查询中还有C表、D表、E表,搞了一上午终于是跑顺了!
    感谢sbaz,结帖!