SQL 문제 3

다음의 테이블에서

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


'SQL > 문제' 카테고리의 다른 글

SQL 문제 2  (0) 2007.11.21
SQL 문제 1  (0) 2007.11.20