SQL Server 2000 での日付が入力された一時テーブルの生成
追加のプレースホルダー列を含む日付の範囲を含む一時テーブルを生成するには、次のようにします。前の質問で概説した方法と同様の方法を利用できます。
まず、開始を宣言します。および範囲の終了日:
DECLARE $startDate SET $startDate = SELECT MIN(InsertDate) FROM customer DECLARE $endDate SET $endDate = SELECT MAX(InsertDate) FROM customer
次に、CTE (共通テーブル式) を作成して、指定された範囲内の日付のシーケンスを生成します:
WITH DateSequence AS ( SELECT DATEADD(DAY, -1, @startDate) AS d UNION ALL SELECT DATEADD(DAY, 1, d) FROM DateSequence WHERE d < @endDate )
最後に、 CTE は一時テーブルを作成し、それにプレースホルダー列を設定します。
SELECT d AS Month, 0 AS Trials, 0 AS Sales INTO #dates FROM DateSequence
このアプローチにより、テーブルにギャップが存在しないことが保証されます。 customer テーブルに対応するレコードがない場合でも、日付範囲を指定します。
以上がSQL Server 2000 でプレースホルダ列を含む一時日付テーブルを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。