TableA (
id int,
match1 char,
match2 char,
startdate datetime,
enddate,
status char
)
サンプルデータ:SQL Serverの:同じテーブル内の重複日付
id match1 match2 startdate enddate Status
1 AAA BBB 2006-01-01 2007-01-01
2 AAA BBB 2006-12-12 2008-01-01
3 AAA BBB 2008-01-01 2012-02-02
4 AAA BBB 2002-01-01 2004-01-01
5 DDD EEE 2009-01-01 2012-01-01
6 DDD EEE 2011-01-01 2020-01-01
7 DDD EEE 2013-01-01 2015-01-01
8 DDD EFG 2009-01-01 2012-01-01
私はmatch1, match2
を整合させるため、日付ときtableA
に'FAIL'
とstatus
を移入する必要があります - 開始と終了が - 互いに重なり合います。
ID = 2
場合、効果的な日付はID = 1
と重なる、2008-01-01
から2006-12-12
あります。したがって、ID = 2
は'FAIL'
になります。 ID = 6
と同じです。
期待される結果:
id match1 match2 startdate enddate Status
1 AAA BBB 2006-01-01 2007-01-01 NULL
2 AAA BBB 2006-12-12 2008-01-01 FAIL
3 AAA BBB 2008-01-01 2012-02-02 NULL
4 AAA BBB 2002-01-01 2004-01-01 NULL
5 DDD EEE 2009-01-01 2012-01-01 NULL
6 DDD EEE 2011-01-01 2020-01-01 FAIL
7 DDD EEE 2013-01-01 2015-01-01 NULL
8 DDD EFG 2009-01-01 2012-01-01 NULL (because It has different match2)
また、私たちは、新しい着信がレコードを重なっ同じMATCH1及びMATCH2のための最初のレコードを維持し、失敗しています。
実際に質問されていません... – Ben
ID 7が失敗するのはなぜですか?それはID 6と重なる(交差する)。 –
ベン - それは別の質問だった。さらに、私はそれに適切な解決策を得ていませんでした。 –