大家好:
   我有2个表,一个是入库表,一个是出库表。
   入库表中有商品名字、入库数量信息。
   出库表中有商品名字、出库数量信息。
   我想查询某个商品库存(入库数量-出库数量)信息,这个sql 语句应当怎么写呀?
   比如
   入库表中有2条如下记录:
   2011.04.9日 入库电视机50台,冰箱60台。
   出库表中有2条如下记录:
   2011.04.10日 出库电视5台。
   2011.04.20日  出库电视4台。
   那么库存应该是电视还剩50-5-4=41台, 冰箱没有出库,还剩60台。
   这个sql语句使用表的关联查询,应该怎么写呀?我写了几次,都失败了。

解决方案 »

  1.   

    select isnull(a.商品名字,b.商品名字) 商品名字,
           isnull(a.入库数量,0)-isnull(b.出库数量,0) 库存数量
    from (select 商品名字,sum(入库数量) as 入库数量 from 入库表 group by 商品名字) a
    left join (select 商品名字,sum(出库数量) as 出库数量 from 出库表 group by 商品名字)b
    on a.商品名字=b.商品名字
      

  2.   

    select isnull(m.商品名字,n.商品名字) 商品名字,
           isnull(m.入库数量,0) 入库数量,
           isnull(n.出库数量,0) 出库数量
    from
    (
      select 商品名字,sum(入库数量) 入库数量 from 入库表 group by 商品名字
    ) m
    full join
    (
      select 商品名字,sum(出库数量) 出库数量 from 出库表 group by 商品名字
    ) n
    on m.商品名字 = n.商品名字
      

  3.   

    select a.b as 商品名字,(a.b-a.c) as 商品库存
    from
    (select 入库.商品名字 as b,入库.入库信息 as b ,出库.出库信息 as c
     from 入库 
    left join 出库 on 入库.商品名字=出库.商品名字) as a
      

  4.   

    想查某个的在后面加where a.b=什么商品就OK。