|
发表于 2020-4-15 02:00:01
|
显示全部楼层
--假设查询2016年12月报表
declare @month varchar(6)
set @month = '201612'
select 仓库,货物名称,
月初 = (select sum(数量) from 流水账 where 货物名称 = a.货物名称 and convert(varchar(6),日期,112) < @month),
月入库 = (select sum(case when 数量 > 0 then 数量 else 0 end)
from 流水账
where 货物名称 = a.货物名称 and convert(varchar(6),日期,112) = @month),
月出库 = (select sum(case when 数量 < 0 then - 数量 else 0 end)
from 流水账
where 货物名称 = a.货物名称 and convert(varchar(6),日期,112) = @month),
月结存 = (select sum(数量) from 流水账 where 货物名称 = a.货物名称 and convert(varchar(6),日期,112) <= @month)
from 流水账 a
--因为以前的数据已经不能再发生变化,所以建议楼主把数据导出到另外一个表
查询的时候直接查速度会快很多! |
|