퀴리 질문인데요. 0 2 1,505

by 임형구 [SQL Query] 쿼리 칼럼 [2010.10.12 22:14:06]



안녕하세요.

찾아보지 않고 질문드려서 죄송합니다.

제가 다음과 같은 문제에 직면해 있는데요.

empno adate bdate   cdate
1   20100101
2    20111123
3   20101231
4 20101211


과 같은 데이터가 있습니다.

여기에 가상의 칼럼을 하나 추가해서
다음과 같이 보이는 건데요.
일단 급한 마음에 여기에 올려봅니다.
저도 한번 해보는것이 제 실력향상에 도움이 되겠지요...
그럼 부탁드리면서 결과는

empno adate bdate   cdate    rsn_cd
1   20100101   1
2    20111123 2
3   20101231   1
4 20101211    3

입니다.

즉 a~c date 필드에는 오로지 하나의 값만 들어갈 수 있고요, 나머지는 다 null입니다.
그리고 adate가 값이 있으며 1, bdate가 값이 있으면 2, cdate가 값이 있다면 3
이 들어갑니다.

그리고 꼭 adate, bdate, cdate가 같이 출력되지 않아도 됩니다.

empno   rsn_cd
1     1
2     2
3     1
4     3

이렇게 출력되도 되는데요.


 

by 병아리 [2010.10.12 22:55:18]
select
empno
nvl2(adate,1,0)+nvl2(bdate,2,0)+nvl2(cdate,3,0) rsn_cd
from dual

by 임형구 [2010.10.13 11:55:17]
감사합니다. 해보니까 정말 잘되네요. nvl2 정말 좋은 기능이네요.
친절한 답변 대단히 감사합니다. 다시한번
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입