うまくいけば、簡単な質問です(しかし、難しい答えがあると思います)。同じ「全体」の範囲をカバーする日付範囲を持つ2つのテーブルがありますが、TABLE_Aの範囲は最初はもう少し細かく分類され、TABLE_Bは後でさらに細かく分割されます。
CREATE TABLE #TABLE_A (
START_DT datetime,
END_DT datetime)
INSERT INTO #TABLE_A VALUES ('4/1/1993', '4/29/1993');
INSERT INTO #TABLE_A VALUES ('4/29/1993', '5/12/1993');
INSERT INTO #TABLE_A VALUES ('5/13/1993', '5/26/1993');
INSERT INTO #TABLE_A VALUES ('5/27/1993', '8/18/1993');
INSERT INTO #TABLE_A VALUES ('2/10/1994', '2/23/1994');
INSERT INTO #TABLE_A VALUES ('2/25/1994', '3/9/1994');
INSERT INTO #TABLE_A VALUES ('3/10/1994', '5/5/1994');
CREATE TABLE #TABLE_B (
START_DT datetime,
END_DT datetime)
INSERT INTO #TABLE_B VALUES ('4/1/1993', '5/12/1993');
INSERT INTO #TABLE_B VALUES ('5/13/1993', '8/18/1993');
INSERT INTO #TABLE_B VALUES ('2/10/1994', '2/22/1994');
INSERT INTO #TABLE_B VALUES ('2/24/1994', '3/23/1994');
INSERT INTO #TABLE_B VALUES ('3/24/1994', '4/20/1994');
INSERT INTO #TABLE_B VALUES ('4/21/1994', '5/5/1994');
私が欲しいのは、これらの範囲を組み合わせたTABLE_Cです。
START DT END DT
4/1/1993 4/29/1993 FROM TABLE A
4/29/1993 5/12/1993 FROM TABLE A
5/13/1993 5/26/1993 FROM TABLE A
5/27/1993 8/18/1993 FROM TABLE A
2/10/1994 2/22/1994 FROM TABLE A or TABLE B
2/23/1994 3/9/1994 FROM TABLE A
3/10/1994 3/23/1994 START DT FROM TABLE A, END DT FROM TABLE B
3/24/1994 4/20/1994 FROM TABLE B
4/21/1994 5/5/1994 FROM TABLE B
TABLE_Cの作成方法に関する提案を受け付けています。MERGE、SSIS、カーソルなどを使用することを検討しましたが、行き詰まってしまうか、もっと簡単な方法があるはずだと考えています。これにアプローチする方法について何か提案はありますか?「同様の質問」を調べましたが、特定の問題が解決されていないようです。これが基本的に尋ねられた場合、私の謝罪。
ありがとう