SQL Quiz -2-

Articles 2010/09/09 12:28 용비

이화식 선생님이 대표로 있는 En-Core 사이트 두번째 퀴즈 문제.

아래와 같은 SAMPLE 테이블이 있다고 하자.

성명

시작일

종료일

홍길동

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

.

.

.

.

.

.


어떤 특정 사원은 이력이 중간에 끊어진 경우가 있는데 이러한 끊어진 시작일과 종료일을 추출하고자 한다.

사원별로 끊어진 시작일과 종료일을 추출하면 아래와 같은 결과가 나타난다.

성명

시작일

종료일

홍길동

19991002

20000201

홍길동

20000301

20000501

김동훈

19961031

19990501

●문제 : 위와 같은 결과를 추출할 수 있는 한개의 SQL문을 작성하시오

내가 작성한 답안 :

select a.name, b.end, a.start
from test.quiz2 a, test.quiz2 b
where a.start <> b.end
and a.rowid - 1 = b.rowid
and a.name = b.name
group by b.rowid;

모범답안 :

select name, end_r start_date, start_l end_date
from (select name, sum(decode(no,1,start_dt)) start_l, sum(decode(no,1,end_dt)) end_l,
              sum(decode(no,2,start_dt)) start_r, sum(decode(no,2,end_dt)) end_r
     from (select name, start_dt, end_dt, rownum rn
           from (select name, start_dt, end_dt
                  from quiz2
                 order by name, start_dt, end_dt )) x, copy_t y
     where y.no <= 2
     group by name, decode(no,1,rn,rn+1)
  )
where end_r <> start_l;

받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/315

SQL Quiz

Articles 2010/09/08 19:46 용비

모처럼 SQL문을 이용한 Quiz를 풀었다.
그런데 오랜만에 그래서인지 너무 어려웠다.-.-..

문제는 다음과 같다.

COL1 COL2
A 10
C 20
D 30
B 10

위의 테이블을 이용해서 다음과 같은 결과를 만들어 내는 거다.

COL1 COL2 누계
A 10 10
C 20 30
D 30 60
B 10 70

정답은? 다음 Query...

Select b.col1, b.col2, sum(a.col2) as "누계" From quiz_table a, quiz_table b Where a.rowid <= b.rowid Group by b.rowid

정말 간만에 땀을 좀 뺐네..ㅠ.ㅠ

받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/314

현기증

Daily Memo 2010/09/07 20:14 용비
현기증이 난다는 마님.

한동안 몸이 굉장히 피곤하고 무기력하고 어지럽다는 이야기를 듣고는 병원에 다녀오라고 했다. 특별히 내가 하루 휴가도 내고.

하루 동안 예람이는 어린이집에 가고, 예린이와 함께 있으면서 설거지, 빨래, 청소...를 하다보니 하루가 어찌 지나가는지도 모르게 지나가버린다.

애들을 8시면 재우라고 나한테 맡기고 밤 10시까지 예람이 유치원 교육인지 뭔지 때문에 나갔다. 애들을 재우려고 7시부터 누웠는데 내내 애들이 하는 얘기.

'엄마 보고 싶다.'
'엄마 빨리 오세요.'
'엄마는 언제 와?'

이런 애들을 어떻게 8시까지 재우라고 하는지..
도대체 무슨 애들 유치원에 대한 설명회를 몇시간씩 하는지..

아, 정말 스트레스 만땅이다.

그런데 우리 마님.
내가 이런 얘기를 하면 아마도 이렇게 얘기할 게 뻔하다.

'이제 육아의 힘든 것을 알겠지?'

에이. 애들이라도 빨리 잠을 잤으면 좋겠다. 이런 썩을.
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/313