## 여러개 컬럼을 하나의 컬럼으로 변경
WITH TT AS
(
SELECT 1 AS EMP_ID, 10 AS A_VAL, 20 B_VAL, NULL AS C_VAL FROM DUAL
UNION ALL
SELECT 2 AS EMP_ID, 30 AS A_VAL, 40 B_VAL, 50 AS C_VAL FROM DUAL
UNION ALL
SELECT 3 AS EMP_ID, 60 AS A_VAL, 70 B_VAL, 80 AS C_VAL FROM DUAL
)
SELECT EMP_ID
, KEY_1
, VAL_1
FROM TT
UNPIVOT (VAL_1 FOR KEY1 IN (A_VAL AS 'A', B_VAL AS 'B', C_VAL AS 'C'))
WHERE 1=1
AND EMP_ID < 3;
## 결과 ##
EMP_ID KEY_1 VAL_1
-------------------------------------
1 A 10
1 B 20
2 A 30
2 B 40
2 C 50
'Database > Oracle' 카테고리의 다른 글
[Oracle] 대소문자 끄기/만료기간 끄기 (0) | 2019.03.08 |
---|---|
[Oracle] 통계정보 생성 (0) | 2018.12.13 |
[Oracle] DBMS_LOB 관련 함수 (0) | 2017.08.03 |
[Oracle] 일자체크(REGEXP_LIKE) (0) | 2013.11.14 |
[Oracle] 오라클 실행 계획 보는 법 (0) | 2013.07.31 |