0
我有兩個表D1和D2的SQL Server:查找日期範圍
DI有:
ID num startdate enddate Status
P10 B123 2002-01-01 2009-04-06 NULL
P11 B124 2006-05-06 2008-07-01 NULL
P12 B125 2010-05-05 2015-04-04 NULL
D2有:(參考表)
ID num startdate enddate
P10 B123 2010-01-01 2012-04-06
P11 B124 2007-05-06 2010-07-01
P12 B125 2007-05-05 2008-04-04
現在,更新狀態中D1爲'失敗',如果在D2中具有相同的[num]
,則它具有重疊的日期範圍。日期範圍是enddate - startdate
。
因此,在D1中具有相同[num]
的任何日期範圍不得接觸或存在於表D2的日期範圍內。
預期結果:
ID num startdate enddate Status
P10 B123 2002-01-01 2009-04-06 NULL
P11 B124 2006-05-06 2008-07-01 FAIL
P12 B125 2010-05-05 2015-04-04 NULL
感謝
與[NUM]說ABC123我們有日期範圍在2004 - 2005年D1。因此,使用[num] ABC123,它可以允許2004年之前和2005年之後的任何日期範圍。如果日期範圍在2004-2005,則失敗 –