Id,code,s_date,e_date로. 테이블이
구성되어 있고, id, code별로 시작과 종료사이에 날짜가 겹치는
Row를 조회하고 싶습니다
데이터 예)
id1, code1, 19990101, 20000505
id1, code1, 19990707, 20010312
위 데이터처럼 기간 사이에 겹치는걸 조회하고 싶습니다
SELECT *
FROM t a
, t b
WHERE a.id = b.id
AND a.code = b.code
AND a.s_date <= b.e_date
AND a.e_date >= b.s_date
AND a.ROWID != b.ROWID
;
감사합니다
aaa, c1, 20010305,20010705
aaa, c1, 20010205,20010505
bbb, d1,20110305,20210705
ccc, k1,19010305,19010705
bbb, d1,20211105,20211201
위 데이타 넣고 쿼리 실행하면 7 row가
나오는데, 2 row가 나와야 하는데
어떻게 해야 할지..
테이블 pk 가 뭔가요?
pk 가 서로 다르다는 조건을 추가해야 합니다.
AND a.pk != b.pk
오라클의 경우 ROWID 를 이용해도 됩니다.
AND a.ROWID != b.ROWID
감사합니다 !!!!!!!!