by 임적성 [SQL Query] [2022.06.20 23:16:37]
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
a.s_date <= b.e_date
a.e_date >= b.s_date
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
감사합니다 !!!!!!!!