这个对我来说很棘手,无法理解。
我们有一个系统,我们可以动态计算库存数量。如果有一个月客户没有任何订单,则该月没有记录,但仍然计算起始库存并显示为基于先前交易数据的滚动计算。
我现在正在提取这些数据,但需要“填补空白”,可以这么说。
例如,该表包含以下字段:
MonthYear DATETIME
WarehouseID INT
Quantity DECIMAL(18,2)
如果我把所有这些放在临时表中进行计算,我最终会得到这样的结果:
2010-01-01 00:00:00.000 135 1000.00
2010-04-01 00:00:00.000 135 2000.00
2010-07-01 00:00:00.000 135 3000.00
2010-06-01 00:00:00.000 235 1000.00
2010-07-01 00:00:00.000 235 2000.00
2011-02-01 00:00:00.000 135 1000.00
2011-03-01 00:00:00.000 135 2450.00
等等。
我需要做的是为每个仓库,如果该年度存在记录,则为表中没有的任何月份添加一个空白行。
在仓库135的上述示例中,我需要为02,03,05,08等添加记录。
有没有比使用游标和循环更简单的方法呢?
感谢。
答案 0 :(得分:0)
搜索Recursive CTE
。然后LEFT JOIN。得把门关上了。很抱歉快速回答。