下午好(它在佛羅里達州)。SQL Server - 使用兩個日期獲取不同的值
我在SQL Server中的表具有以下數據:
id StartDate EndDate
---- ------------ ------------
1 2015-06-30 2015-07-30
2 2015-08-01 2015-08-31
3 2015-08-01 2015-12-31
4 2015-09-01 2015-09-30
5 2015-10-01 2015-12-31
我需要一個「獨立的」 select語句,我抓住所有,但創紀錄的3,因爲它與其他日期重疊。
這樣做的最好方法是什麼?我曾試過聯盟,但那不起作用。
任何幫助表示讚賞!
編輯:我的預期產出將需要看起來像這樣:
+============+============+
| SD | ED |
| 2015-06-30 | 2015-07-30 |
+------------+------------+
| 2015-08-01 | 2015-08-31 |
+------------+------------+
| 2015-09-01 | 2015-09-30 |
+------------+------------+
| 2015-10-01 | 2015-12-31 |
+------------+------------+
我想排除有有開始日期等於在表中的另一個開始日期的日期範圍的行以及結束日期與其他日期範圍一致。這就是爲什麼第3行不應該在結果集中。
謝謝!
您應該添加到您的問題更多的規則何時排除行。例如,如果兩個記錄具有相同的開始日期,您是否認爲它重疊?如果一個日期落在另一個日期範圍的開始日期和結束日期之間,那麼哪一個排除?有沒有重疊鏈? –
與@BrianPressler說的一樣,你的預期產出會有所幫助。 – Khan
@Khan *選擇聲明,我抓住所有,但記錄3 *所以它的記錄1,2,4和5 –