我有两个如下表:
表1:
ID | Timestamp
231 3/27/19 0:46
345 3/22/19 22:46
表2:
ID | Start Time | End Time
231 3/27/19 0:00 3/27/19 0:58
345 3/22/19 22:50 3/22/19 23:50
有没有一种好的方法,我只希望表1中的所有行在表2中的任何行的开始和结束时间范围内都不存在?
因此,表1中的任何时间戳不在该时间戳记中或不在该时间戳记中,则表2中的同一行的开始和结束时间都在该行中?
感谢您的时间!
答案 0 :(得分:1)
像这样吗?
SELECT *
FROM TABLE1
WHERE NOT EXISTS (SELECT NULL FROM TABLE2
WHERE TABLE1.ID = TABLE2.ID
AND TABLE1.TIMESTAMP >= TABLE2.START_DATE
AND TABLE1.TIMESTAMP <= TABLE2.END_DATE)
我为您的列START_DATE和END_DATE命名。每个数据库之间如何处理空间差异。