我有一个名为data的表,其中包含列:CD,beginDate,endDate。后缀。我需要确定是否要插入任何行,beginDate比具有相同后缀值的任何其他行中的endDate更早。
我正在尝试的代码,没有运气:
select * from data a1
join data a2 on a2.cd=a1.cd
where
a1.suffix=a2.suffix and
a1.beginDate<a2.endDate
任何想法,我可以这么热吗? 提前致谢
答案 0 :(得分:1)
你想在连接中的cd条件上存在不等式:
...在任何其他行中,beginDate早于endDate 相同的后缀值。
您还可以将所有条件放入连接的ON子句中:
select a1.cd, a2.cd, a1.suffix, a1.beginDate, a2.endDate
from data a1
join data a2
on a2.cd <> a1.cd
and a1.suffix = a2.suffix
and a1.beginDate < a2.endDate