日付で結合して並べ替えたいイベントを含む2つのテーブルがあり、レポートのためにレコードをグループ化できる結果の値が必要です-この場合code2
CREATE TABLE #tbl1 (code1 INT, codeDate DATETIME, code2 INT)
CREATE TABLE #tbl2 (code1 INT, codeDate DATETIME, code2 INT )
INSERT INTO #tbl1 VALUES( 1, '01 jan 2013 12:00:00', 123)
INSERT INTO #tbl1 VALUES( 2, '01 jan 2013 14:00:00', 123)
INSERT INTO #tbl1 VALUES( 1, '01 jan 2013 15:00:00', 234)
INSERT INTO #tbl1 VALUES( 2, '01 jan 2013 18:00:00', 234)
INSERT INTO #tbl2 VALUES( 10, '01 jan 2013 12:10:00', 0)
INSERT INTO #tbl2 VALUES( 20, '01 jan 2013 13:20:00', 0)
INSERT INTO #tbl2 VALUES( 10, '01 jan 2013 15:10:00', 0)
INSERT INTO #tbl2 VALUES( 20, '01 jan 2013 16:20:00', 0)
SELECT * FROM #tbl1 UNION SELECT * FROM #tbl2 ORDER BY CODEDATE
戻り値
code1 codeDate code2
1 2013-01-01 12:00:00.000 123
10 2013-01-01 12:10:00.000 0
20 2013-01-01 13:20:00.000 0
2 2013-01-01 14:00:00.000 123
1 2013-01-01 15:00:00.000 234
10 2013-01-01 15:10:00.000 0
20 2013-01-01 16:20:00.000 0
2 2013-01-01 18:00:00.000 234
更新する列の値を取得したいcode2
ので、tbl1 の日付値の間にある tbl2 レコードに tbl1 のcode2
値が含まれます。(結果の行 2、3、6、7) 例:
code1 codeDate code2
1 2013-01-01 12:00:00.000 123
10 2013-01-01 12:10:00.000 123
20 2013-01-01 13:20:00.000 123
2 2013-01-01 14:00:00.000 123
1 2013-01-01 15:00:00.000 234
10 2013-01-01 15:10:00.000 234
20 2013-01-01 16:20:00.000 234
2 2013-01-01 18:00:00.000 234
これは可能ですか、UNION
それとも別のアプローチが必要ですか?