본문 바로가기

DB/tibero

Tibero pivot과 unpivot 사용법

반응형

 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
댓글