日期 本月入库 本月发放 本月退货 月末库存 月初库存
......
201410 100 50 10
201411 58 20 0 80 42
注意,201411的月末库存是已知的,月初库存是通过公式:月初库存+本月入库-本月发放-本月退货=月末库存计算出来的。
请帮忙写出sql代码实现自动反推出每个月的月初和月末库存,非常感谢!急!
------解决思路----------------------
上面有点小错误
;WITH CTE AS(
SELECT TOP 1 日期,入库数量,发放数量,退货数量,CAST(库存数量 AS INT)库存数量,CAST(库存数量+发放数量+退货数量-入库数量 AS INT)期初数量 FROM #2 ORDER BY 日期 DESC
UNION ALL
SELECT T1.日期,T1.入库数量,T1.发放数量,T1.退货数量,CAST(T2.期初数量 AS INT),CAST((T2.期初数量+T1.发放数量+T1.退货数量-T1.入库数量)AS INT)
FROM #2 T1 JOIN CTE T2 ON T1.日期+1=T2.日期
)
UPDATE T1
SET 库存数量=T2.库存数量,期初数量=T2.期初数量
FROM #2 T1
JOIN CTE T2 ON T1.日期=T2.日期