0

我有一个名为 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

任何想法,我可以这样做吗?提前致谢

4

1 回答 1

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
于 2013-05-30T12:48:48.073 回答