Sponsored By
















Q. TEMP 테이블에서 행을 3개씩 묶어 하나의 번호를 부여하고, 해당 ROWNUM을 3으로 나눈 나머지가 1, 2, 0 인 경우로 나누어 컬럼의 위치를 정해주자.

     첫 번째 컬럼 : TEMP 의 행을 3개씩 묶어 번호를 부여

     두 번째 컬럼 : 나머지가 1이면 사번 아니면 NULL

     세 번째 컬럼 : 나머지가 1이면 성명 아니면 NULL

     네 번째 컬럼 : 나머지가 2이면 사번 아니면 NULL

     다섯 번째 컬럼 : 나머지가 2이면 성명 아니면 NULL

     여섯 번째 컬럼 : 나머지가 0이면 사번 아니면 NULL

     일곱 번째 컬럼 : 나머지가 0이면 성명 아니면 NULL

 

 

 

A.

>

SELECT CEIL( ROWNUM /3 ) C1,

     DECODE( MOD(ROWNUM, 3), 1, EMP_ID, NULL) C2,

     DECODE( MOD(ROWNUM, 3), 1, EMP_NAME, NULL) C3,

     DECODE( MOD(ROWNUM, 3), 2, EMP_ID, NULL) C4,

     DECODE( MOD(ROWNUM, 3), 2, EMP_NAME, NULL) C5,

     DECODE( MOD(ROWNUM, 3), 0, EMP_ID, NULL) C6,

     DECODE( MOD(ROWNUM, 3), 0, EMP_NAME, NULL) C7

FROM TEMP

WHERE EMP_ID >0 ;

 

 

'DBMS > SQL' 카테고리의 다른 글

[ SQL ] INLINE VIEW 사용  (0) 2020.04.03
[ SQL ] GROUP 함수 내의 DECODE 사용  (0) 2020.04.02
[ SQL ] ROWNUM의 사용  (0) 2020.04.02
[ SQL ] 4장(rownum, rowid, decode) 데이터입력  (0) 2020.04.02
[ SQL ] ALL 사용  (0) 2020.04.02


Sponsored By















+ Recent posts