有两张表,第一张表AAA,有两个字段
商品名mc    商品总数s1
   A            100
   B            200
第二张表 BBB 也是两个字段
商品名mc      出库数量s1
    A             10
    A             20
    A             30
    B             30
    B             20
写一条SQL语句,算出A,B的剩余数量

解决方案 »

  1.   

    select  AAA.商品名mc, (AAA.商品总数s1- B.sums1) 剩余数量
    from AAA,
    (select 商品名mc,sum(出库数量s1) sums1 from BBB group by 商品名mc ) B
    where AAA.商品名mc = B.商品名mc
      

  2.   

    select A.mc,sum(A.s1-B.s1) from 
    (select mc,sum(s1) s1 from aaa group by mc) A,
    (select mc,sum(s1) s1 from bbb group by mc) Bwhere A.mc=B.mc(+) group by A.mc
      

  3.   

    select A.mc,sum(A.s1-B.s1) from 
    (select mc,sum(s1) s1 from aaa group by mc) A,
    (select mc,sum(s1) s1 from bbb group by mc) Bwhere A.mc=B.mc(+) group by A.mc同意楼上
      

  4.   

    select A.mc,(A.s1-B.s1) as s1 from AAA A,
    (select mc,sum(s1) as  s1 from bbb group by mc) Bwhere A.mc=B.mc楼上的 看一下第一张表AAA,有两个字段
    商品名mc    商品总数s1
       A            100我同意一楼的
       B            200
      

  5.   

    考虑对应的mc在b表可能没有出库数量select a.mc,sum(distinct a.a1) - nvl(sum(b.s1),0) from aaa a,bbb b
    where a.mc = b.mc(+)
    group by a.mc