我有如下的tableA,需要根据交易ID查找重叠的日期
同一交易ID的多个记录,需要查找是否有重叠的日期并返回这些记录
最佳答案
您可以尝试exists
:
select t.*
from t
where exists (select 1
from t t2
where t2.transactionId = t.transactionId and
t2.enddate > t.startdate and
t2.startdate < t.enddate and
-- and not the same record
t2.startdate <> t.startdate and
t2.enddate <> t.enddate
);
select t.*
from t join
t t2
on t2.transactionId = t.transactionId
where t2.enddate > t.startdate and
t2.startdate < t.enddate and
t2.startdate <> t.startdate and
t2.enddate <> t.enddate
select distinct
。
https://stackoverflow.com/questions/55186971/