728x90
피벗 쿼리란 ROW별로 데이터가 나오는것을 특정 컬럼의 ROW값 기준이 되서 ROW가 아닌 컬럼으로 만든다.
아래는 ROW에 나오는 특정 값들이 반복해서 나온다고 했을 때 그 값을 ROW 값이 아닌 컬럼으로 표현하는 쿼리이다.
SELECT
*
FROM
(
SELECT
VU.DT_NAME
, WU.UNAME
, VU.USER_NM
, WU.AGR_FILED
FROM
WU_TABLE WU
LEFT OUTER JOIN
VU_TABLE VU
ON WU.UNAME = VU.USER_ID
WHERE
SUBSTR(AGR_NAME, 2, 2) = 'FI'
)
PIVOT
(
COUNT(*)
FOR AGR_FILED IN (
'FIELD01' AS FIELD01,'FIELD02' AS FIELD02,'FIELD03' AS FIELD03,'FIELD04' AS FIELD04
)
)
ORDER BY DT_NAME
;
PIVOT문에 AGR_FILED 가 컬럼이되어 해당 컬럼이 있는지 없는지 혹은 SUM문을 사용하여 합계 등으로 컬럼이 생성 될 수 있다.
'ORACLE SQL' 카테고리의 다른 글
[ORACLE] 특정 컬럼으로 중복된 항목 제거 (0) | 2023.11.17 |
---|---|
오라클 시노님(Synonym)이란? (0) | 2023.08.21 |
ORACLE SELECT UPDATE 각각의 Key값에 각기 다른 값 SET 하기 (0) | 2023.07.11 |
ORACLE) SPLIT 함수 만들기 (0) | 2022.08.23 |
LISTAGG 문자열 연결의 결과가 너무 깁니다 에러 발생시 (0) | 2022.06.15 |