我有两个表:表 T1 引用表 T2 的 id。
T1
|id_t2|start_date|
|00001|2002-01-01|
|00001|2003-01-01|
|00001|2004-01-01|
|00001|2010-01-01|
|00002|2002-01-01|
|00002|2003-01-01|
|00002|2004-01-01|
T2
|id_t2|start_date| end_date |
|00001|2002-08-01|2002-12-31|
|00001|2003-01-01|2006-01-01|
|00002|2002-02-01|2002-12-31|
|00002|2003-01-01|2006-01-01|
Expected résult:
|00001|2002-01-01| <= There is no line on T2 where ids are the same and date from T1 is between T2 start_dab and end_date.
|00001|2010-01-01| <= There is no line on T2 where ids are the same and date from T1 is between T2 start_dab and end_date.
您可以使用not exists
运算符:
SELECT *
FROM t1
WHERE NOT EXISTS (SELECT *
FROM t2
WHERE t2.id_t2 = t1.id_t2 AND
t1.start_date BETWEEN t2.start_date and t2.end_date)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句