반응형
다음의 테이블에서
결과값은 다음과 같다.
문제를 풀어보면
select a.name,a.end_date sdate, min(b.start_date) edate
from quiz003 a join quiz003 b on a.name=b.name
where b.start_date >= a.end_date
group by a.name, a.start_date, a.end_date
having min(b.start_date) <> a.end_date
NAME | START_DATE | END_DATE |
홍길동 | 19961001 | 19981230 |
홍길동 | 19981230 | 19990605 |
홍길동 | 19990605 | 19991002 |
홍길동 | 20000201 | 20000301 |
홍길동 | 20000501 | 99991231 |
김동훈 | 19910106 | 19910731 |
김동훈 | 19910731 | 19940201 |
김동훈 | 19940201 | 19941021 |
김동훈 | 19941021 | 19961031 |
김동훈 | 19990501 | 20000331 |
김동훈 | 20000331 | 99991231 |
마동탁 | 19980103 | 19980727 |
마동탁 | 19980727 | 20000103 |
마동탁 | 20000103 | 20000601 |
마동탁 | 20000601 | 99991231 |
각 사원별로 끊어진 종료일과 시작일을 구하는 쿼리 작성 |
성명 | 시작일(끊어진 종료일) | 종료일 |
김동훈 | 19961031 | 19990501 |
홍길동 | 19991002 | 20000201 |
홍길동 | 20000301 | 20000501 |
문제를 풀어보면
select a.name,a.end_date sdate, min(b.start_date) edate
from quiz003 a join quiz003 b on a.name=b.name
where b.start_date >= a.end_date
group by a.name, a.start_date, a.end_date
having min(b.start_date) <> a.end_date
반응형