제 질문은이 스레드와 매우 비슷합니다. 그러나 필드가 1 개인 테이블 Eff_Date End_Date 만 있습니다. 실제로 더 많은 필드가있는 더 큰 테이블이지만 여기서는 관련있는 필드를 나열했습니다.SQL - 단일 테이블에서 기간이 겹치는 레코드 쿼리
What is a simple and efficient way to find rows with time-interval overlaps in SQL?
나는 효력 발생 일의 기간이 겹치는 같은 ID가 기록을 가져 오기 위해 SQL 문을 작성해야합니다. 유효한 레코드의 종료일은 일반적으로 '99991231'입니다.
select ID, DEFF, DEND
from table1
where ID in (
select ID
from table1
where DEND = 99991231
group by ID
having COUNT(*) >1)
and DEND = 99991231
order by 1,2
어떤 생각이 도움이 될 것입니다! 테스트없이
내 이해는 t2.ID = t1.ID에 대한 조인을 원할 것입니다. ID가 중복되는 동일한 ID를 가진 레코드를 가져 오는 것입니다. –
편집 된 쿼리는 이제 오 탐지 (false positives)가 많습니다 ... 또한 복제본도 있습니다. 그리고 지금은 새로운 편집이있었습니다 : –
확실하지 않아도됩니다. 'AND t2.DEND> = t1.DEFF' –