MS SQL Server 8.0.760 (2000) の使用
私はこのようなテーブルを持っています:
Table A
Day       | Hour | Value
2012-10-01| 12   | 780
2012-10-01| 14   | 678
2012-11-02| 08   | 123
2012-11-02| 09   | 473
期待される結果は次のとおりです。
Day       | Hour | Value
2012-10-01| 00   | 0
2012-10-01| 01   | 0
2012-10-01| 02   | 0
2012-10-01| ..   | ..
2012-10-01| 12   | 780
2012-10-01| 13   | 0
2012-10-01| 14   | 678
2012-10-01| ..   | ..
2012-10-01| 22   | 0
2012-10-01| 23   | 0
2012-10-01| 24   | 0
2012-11-02| 00   | 0
2012-11-02| 01   | 0
2012-11-02| 02   | 0
2012-11-02| ..   | ..
2012-11-02| 08   | 123
2012-11-02| 09   | 473
2012-11-02| ..   | ..
2012-11-02| 22   | 0
2012-11-02| 23   | 0
2012-11-02| 24   | 0
したがって、不足している時間はゼロ値で生成されます..
何か案が?
編集1
これを試しました:
DECLARE @tmpHours TABLE
(
tmpHour varchar(2)
)
INSERT INTO @tmpHours VALUES ('00')
INSERT INTO @tmpHours VALUES ('01')
...
INSERT INTO @tmpHours VALUES ('23')
INSERT INTO @tmpHours VALUES ('24')
SELECT * FROM [A]
  FULL JOIN @tmpHours tmp ON tmp.[tmpHour] = [A].[Hour]
  ORDER BY [Day], [Hour], [tmpHour]
しかし、これはこれを生成します:
Day Hour    Value   tmpHour
NULL    NULL    NULL    00
NULL    NULL    NULL    01
NULL    NULL    NULL    02
NULL    NULL    NULL    03
NULL    NULL    NULL    04
NULL    NULL    NULL    05
NULL    NULL    NULL    06
NULL    NULL    NULL    07
NULL    NULL    NULL    10
NULL    NULL    NULL    11
NULL    NULL    NULL    13
NULL    NULL    NULL    15
NULL    NULL    NULL    16
NULL    NULL    NULL    17
NULL    NULL    NULL    18
NULL    NULL    NULL    19
NULL    NULL    NULL    20
NULL    NULL    NULL    21
NULL    NULL    NULL    22
NULL    NULL    NULL    23
NULL    NULL    NULL    24
2012-10-01 00:00:00.000 12  780 12
2012-10-01 00:00:00.000 14  678 14
2012-11-02 00:00:00.000 08  123 08
2012-11-02 00:00:00.000 09  473 09