没法子,贴上一段源码先!
Declare @SerialNo char(10)
Declare @Summary char(10)
Declare @NowYear int
select @Summary='材料仓库'
select @NowYear=2002
select @SerialNo='sss'
select 出入库单号,
仓库名称,
部门名称,
日期,
货品编号,
货品名称,
@Summary as 摘要 ,
入库数量 as 入库数量,
出库数量 as 出库数量,
0 as 库存
into #aaa
from indrawview /*-----出入库视图------*/
where 货品编号=@SerialNo
and year(日期)=@NowYear
order by 日期
select @Summary='本月统计'
select * from #aaa
union all
select null ,null ,null,
max(日期)as 日期,
null ,null,摘要=@Summary,
isnull(sum(入库数量),0) as 入库数量,
isnull(sum(出库数量),0) as 出库数量,
isnull(sum(入库数量),0)-isnull(sum(出库数量),0) as 库存
from indrawview
where 货品编号='sss' and year(日期)=@NowYear
group by month(日期)
order by 日期
drop table #aaa
返回结果:
出入库单号 仓库名称 部门名称 日期 货品编号 货品名称 摘要 入库数量 出库数量 库存
------------ ------------ ---------- ------------ ----------- ---------- ----------- --------- ---------- -------
FPD000000051 NULL 调整部 2002-04-09 sss 1 材料仓库 100.000 NULL .000
FPD000000046 NULL 调整部 2002-04-09 SSS 0 材料仓库 NULL .000 .000
FPD000000046 NULL 调整部 2002-04-09 SSS 2 料仓库 NULL 32.000 .000
FLL000000008 NULL NULL 2002-04-13 SSS NULL 材料仓库 NULL NULL .000
NULL NULL NULL 2002-04-13 NULL NULL 本月统计 100.000 32.000 68.000
FYS000000003 青菜仓库 NULL 2002-05-08 SSS NULL 材料仓库 100.000 NULL .000
FYS000000003 青菜仓库 NULL 2002-05-08 SSS NULL 材料仓库 100.000 NULL .000
NULL NULL NULL 2002-05-08 NULL NULL 本月统计 200.000 .000 200.000
FYS000000008 NULL NULL 2002-07-08 sss NULL 材料仓库 100.000 NULL .000
FYS000000008 NULL NULL 2002-07-08 sss NULL 材料仓库 100.000 NULL .000
FYS000000008 NULL NULL 2002-07-08 sss NULL 材料仓库 100.000 NULL .000
NULL NULL NULL 2002-07-08 NULL NULL 本月统计 300.000 .000 300.000
还有一个小问题没有解决:如何把#aaa中的库存计算出来
还有一个大问题没有解决:如何在本月统计后面加上本年统计?