【发布时间】:2016-09-27 19:00:08
【问题描述】:
我有两张桌子。每个表有两个字段:from_date 和 to_date。我需要找到table A 中与table B 中的记录不重叠的所有记录。
我正在使用 MSSQL 2008。
CREATE TABLE Table_A(from_date datetime , to_date datetime )
CREATE TABLE Table_B(from_date datetime , to_date datetime )
Insert into Table_A (from_date, to_date) values ('2016-09-01 10:00:00','2016-09-01 11:00:00')
Insert into Table_A (from_date, to_date) values ('2016-09-01 11:00:00','2016-09-01 12:00:00')
Insert into Table_A (from_date, to_date) values ('2016-09-01 12:00:00','2016-09-01 13:00:00')
Insert into Table_B (from_date, to_date) values ('2016-09-01 10:00:00','2016-09-01 12:00:00')
Insert into Table_B (from_date, to_date) values ('2016-09-01 13:00:00','2016-09-01 14:00:00')
Insert into Table_B (from_date, to_date) values ('2016-09-01 14:00:00','2016-09-01 15:00:00')
结果应该只是表 A 中的第三条记录(1200-1300),因为它不与表 B 中的任何记录重叠。
【问题讨论】:
标签: sql sql-server overlap