반응형
Pivot 사용예제
* Tibero 6에서 테스트 되었습니다.
기준 데이터
3개 줄에 컬럼 3개에 대해 데이터가 들어가 있습니다.
구분은 Code 값으로 하며 각 코드에 대해 val1, val2, val3의 값으로 한줄에 표시하도록 하겠습니다.
쿼리
WITH T( VAL1, VAL2, VAL3, CODE) AS (
SELECT 1 AS VAL1, 2 AS VAL2, 3 AS VAL3, 1 AS CODE FROM DUAL
UNION
SELECT 11 AS VAL1, 22 AS VAL2, 33 AS VAL3, 2 AS CODE FROM DUAL
UNION
SELECT 111 AS VAL1, 222 AS VAL2, 333 AS VAL3, 3 AS CODE FROM DUAL
)
SELECT
*
FROM
T PIVOT (
MIN(VAL1) AS VAL1, MIN(VAL2) AS VAL2, MIN(VAL3) AS VAL3
FOR CODE IN ('1' AS ONE, '2' AS TWO, '3' AS THREE)
)
;
실행결과
실행결과입니다.
Code 1에 대해서는 one으로 명칭하고
Code 2에 대해서는 two으로 명칭하고
Code 3에 대해서는 three으로 명칭하였습니다.
각 코드에 컬럼 3개(val1, val2, val3)가 각각 맵핑되어 한줄에 표시됩니다.
UnPivot 사용예제
기준 데이터
변수로 사용될 컬럼 3개와 코드로 사용할 컬럼 1개를 만들었습니다.
Unpivot 쿼리
WITH T( VAL1, VAL2, VAL3, CD) AS
(
SELECT
1 AS VAL1
,2 AS VAL2
,3 AS VAL3
, 'CODE' AS CD
FROM DUAL
)
SELECT *
FROM T
UNPIVOT (CD FOR V IN (VAL1, VAL2, VAL3))
;
Unpivot 결과
코드를 기준으로 컬럼을 구분하여 행을 열로 변환하여 조회합니다.
반응형
'DB > tibero' 카테고리의 다른 글
Tibero 접속 도구 소개 (0) | 2021.05.07 |
---|---|
Tibero View/Procedure 조회(DBeaver) (0) | 2021.03.29 |
Tibero 백업 (0) | 2021.01.02 |