我的表:
物料表
物料ID,物料名
盘点表/期初表
物料ID,盘点日期,库存数量
入库表
物料ID,入库数量,入库日期
出库表
物料ID,出库数量,出库日期
1.以上次盘点为本期初始库存,我现在要统计库存,显示以下字段
物料名,期初数,入库数,出库数,现存数
请问这个怎么写SQL?
------解决方案--------------------
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