SQLServerDBにテーブルがあります。
ID Open_date Close_date
1 01-01-2010 01-03-2010
2 21-01-2011 12-02-2011
3 01-03-2010 NULL
4 10-01-2010 NULL
次を返すT-SQLクエリを作成する必要があります。
Month Year Open Close
01 2010 2 0
02 2010 0 0
03 2010 0 1
04 2010 0 0
05 2010 0 0
06 2010 0 0
07 2010 0 0
08 2010 0 0
09 2010 0 0
10 2010 0 0
11 2010 0 0
12 2010 0 0
01 2011 1 0
02 2011 0 1
結果セットのエントリ数は、DBのテーブルの「Open_date」列と「Close_date」列の両方の最小値と同じ列の最大値の間の月数に等しくなります。問題は、2つの日付列から最小値と最大値を見つけ、最小から最大までの日付を生成し、この一時テーブル(またはそれが何であるか)を使用して、一時テーブルからのすべての日付のオープンエントリとクローズエントリの数をカウントする方法です。