겹치는 날짜 조회하는 쿼리 질문입니다 0 4 1,218

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

위 데이터처럼 기간 사이에 겹치는걸 조회하고 싶습니다

 

 

by 마농 [2022.06.21 00:42:22]
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
;

 


by 임적성 [2022.06.21 07:08:51]

감사합니다 

 

aaa,  c1, 20010305,20010705

 

aaa,  c1, 20010205,20010505

 

bbb,  d1,20110305,20210705

 

ccc,  k1,19010305,19010705

 

bbb,  d1,20211105,20211201

 

위 데이타 넣고 쿼리 실행하면 7 row가

 

나오는데,  2 row가 나와야 하는데

 

어떻게 해야 할지..


by 마농 [2022.06.21 07:32:06]

테이블 pk 가 뭔가요?
pk 가 서로 다르다는 조건을 추가해야 합니다.
AND a.pk != b.pk
오라클의 경우 ROWID 를 이용해도 됩니다.
AND a.ROWID != b.ROWID


by 임적성 [2022.06.21 08:03:49]

 감사합니다 !!!!!!!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입