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