Database/SQL Server

SQL Server - UNPIVOT 언피벗

청렴결백한 만능 재주꾼 2020. 12. 19. 00:12
반응형

PIVOT 연산자는  행을 열로 바꾸고 UNPIVOT은 반대로 열을 행으로 바꾼다!!

PIVOT operator turns ROWS into COLUMNS, where as UNPIVOT turns COLUMNS into ROWS.

 

SELECT SalesAgent, Country, SaleAmount
FROM tblProductSales
UNPIVOT
(
	SalesAmount
    FOR Country IN (India, US, UK)
) AS UnPivotExample

왼쪽 테이블을 위 쿼리로 언피벗시킨 결과(오른쪽)

 

 

SELECT SalesAgent, Country, SalesAmount
FROM
(SELECT SalesAgent, India, US
FROM tblProductSales
PIVOT
(
	SUM(SalesAmount)
    FOR Country IN (India, US)
) AS PivotTable) P
UNPIVOT
(
	SalesAmount
    FOR Country IN (India, US)
) AS UnpivotTable

 

이런식으로 하면 PIVOT시킨 것을 다시 UNPIVOT할 수 있다. 하지만  aggregate된 값은 되돌릴 수가 없다.

반응형