当前位置: 代码迷 >> Sql Server >> 已知目前库存,反推前面月份的月初库存和月末库存
  详细解决方案

已知目前库存,反推前面月份的月初库存和月末库存

热度:66   发布时间:2016-04-24 09:38:47.0
已知当前库存,反推前面月份的月初库存和月末库存
日期     本月入库    本月发放    本月退货    月末库存   月初库存
......
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.日期
  相关解决方案