解决方案 »

  1.   

    我的表:
      物料表 字段
         物料ID,物料名
         1         ,路由器
         2         ,1米网线
         3         ,lp鼠标 盘点表/期初表
        物料ID,盘点日期,库存数量
         1         ,路由器   , 20
         2         ,1米网线  , 30
         3         ,lp鼠标   ,  50 入库表
        物料ID,入库数量,入库日期
          1         ,10   , 2014-6-22
               3         ,5       , 2014-6-23 
               3         ,10     , 2014-6-25 
     出库表
        物料ID,出库数量,出库日期
          1         ,3      , 2014-6-23
               2         ,3      , 2014-6-24
               3         ,3     , 2014-6-25 
               1         ,5     , 2014-6-26
     
    1.以上次盘点为本期初始库存,我现在要统计库存,显示以下字段
          物料名,期初数,入库数,出库数,现存数 请问这个怎么写SQL? 
      

  2.   


    select a.物料名,
           isnull(b.库存数量,0) '期初数',
           isnull(c.入库数量,0) '入库数',
           isnull(d.出库数量,0) '出库数',
           isnull(b.库存数量,0)+isnull(c.入库数量,0)-isnull(d.出库数量,0) '现存数'
     from 物料表 a
     left join (select 物料ID,sum(库存数量) '库存数量' 
                from 盘点表 
                group by 物料ID) b on a.物料ID=b.物料ID
     left join (select 物料ID,sum(入库数量) '入库数量' 
                from 入库表 
                group by 物料ID) c on a.物料ID=c.物料ID
     left join (select 物料ID,sum(出库数量) '出库数量' 
                from 出库表 
                group by 物料ID) d on a.物料ID=d.物料ID