求一个进销存报表的查询语句。
记录进出库记录的表
tStorageIO] (
[fProductID] [int] NOT NULL , 物料ID
[fDate] [datetime] NOT NULL , 日期
[fInQty] [numeric](10, 2), 入库数量
[fOutQty] [numeric](10, 2) NULL 出库数量
[fInMoney] [numeric](18, 2), 入库金额
计算说明:
计算按月加权平均单价计算出库金额来查询一个进销存报表
出库单价=(上月期末余额+本月入库金额)/(上月期末数量+本月入库数量)
出库金额=出库单价*本月出库数量
数量和金额的本月余额=上月余额+本月入库-本月出库
怎么查询某一月份的进销存报表.报表结构如下
月份 物料ID 期初数量 期初金额 本月入库数量 本月入库金额 本月出库数量
本月出库金额 期末数量 期末金额
------解决方案--------------------给个例自己看看吧:结算的问题
表A
tyear tmonth CDB a0 a3
----------- ----------- ---------- ----------- ----------
2005 7 js 609 1
2005 8 js 0 2
2005 9 js 0 3
2005 10 js 0 0
2005 11 js 0 1
2005 7 sf 1776 18
2005 8 sf 0 17
2005 9 sf 0 71
2005 10 sf 0 99
2005 11 sf 0 103
2005 12 sf 0 125
2006 1 sf 0 57
================================================================
表B
tyear tmonth CDB a0 a3 a4
----------- ----------- ---------- ----------- ----------- -----------
2005 7 js 609 1 608
2005 8 js 0 2 606
2005 9 js 0 3 603
2005 10 js 0 0 603
2005 11 js 0 1 602
2005 7 sf 1776 18 1758
2005 8 sf 0 17 1741
2005 9 sf 0 71 1670
2005 10 sf 0 99 ....
2005 11 sf 0 103 ....
2005 12 sf 0 125 ....
2006 1 sf 0 57 ....
2006 2 sf 0 22 ....
2006 3 sf 0 13 ....
TYEAR为年,TMONTH为月,按CDB求A4,A4=A0-A3一直累计下来.苦思了好久,请高手指点
if object_id( 'pubs..tb ') is not null
drop table tb
go
create table tb
(
tyear char(4),
tmonth char(2),
CDB char(2),
a0 int,
a3 int
)
insert into tb(tyear,tmonth,CDB,a0,a3) values( '2005 ', '07 ', 'js ', 609, 1)
insert into tb(tyear,tmonth,CDB,a0,a3) values( '2005 ', '08 ', 'js ', 0 , 2)
insert into tb(tyear,tmonth,CDB,a0,a3) values( '2005 ', '09 ', 'js ',