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
1条答案
按热度按时间guz6ccqo1#
你可以试试
exists
:像这样的问题怎么样?
(如果您有一个唯一的id,那么最后两个条件可以替换为该id。)
你可能想要
select distinct
如果可能的话。