0

这个对我来说很棘手,无法弄清楚。

我们有一个系统可以即时计算库存数量。如果某月客户没有任何订单,则该月没有记录,但仍会根据之前的交易数据计算并显示为滚动计算的期初库存。

我现在正在提取这些数据,但可以说需要“填补空白”。

例如,该表具有以下字段:

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 等添加一条记录。

有没有比使用游标和循环更简单的方法?

谢谢。

4

1 回答 1

0

搜索Recursive CTE。然后左加入。得冲出门去。很抱歉快速回答。

于 2013-05-07T19:44:59.837 回答