结存数据问题
上月结存 本月金额 分公司 日期
10 0 广东深 2013-08
20 0 杭州 2013-08
30 0 合肥 2013-08
0 40 广东深 2013-09,上月结存应该 是10,下个月(10月)应该变成50
0 40 杭州 2013-09
0 40 合肥 2013-09
8月份的数据 是期初数据,2013-09是9月的统计(select 分公司,sum(金额) from 出库单 group by 分公司)。我想做的是结存表,怎么样把每个月的结存数据 存到上月结存 字段。
请指点,谢谢
[解决办法]
WITH a1 AS
(
SELECT 上月结存,上月结存0=
ISNULL(
(SELECT SUM(上月结存+本月金额) FROM 表
WHERE 日期=CONVERT(CHAR(7),DATEADD(mm,-1,a.日期+'-01'),120) AND 分公司=a.分公司),0)
FROM 表 a
WHERE 日期='2013-09'
)
UPDATE a1 SET 上月结存=上月结存0
日期 分公司 数量 产品编号
广东 A01
(其余记录省略)
4、第一循环中的指定记录中,分别扫描库存表和业务表
日期 分公司 数量 产品编号
广东 A01
2013-09-01 10 (这是库存记录)
2013-09-02 35 (这是业务记录)
5、建议以日期作为聚集索引,分公司作为非聚集索引。
6、我自己做的库存系统是这样处理,仅供参考。
7、这编辑器排版是有点乱的,也没几行,将就着看吧。