PIVOT / UNPIVOT 연산자
PIVOT 연산자는 한 열에 포함된 여러 값을 출력하고, 이를 여러 열로 변환하여 테이블 반환 식을 회전하고 필요하면
집계까지 수행할 수 있다. 또한, UNPIVOT은 PIVIT의 반대되는 연산을 수행한다.
PIVOT의 원형은 다음과 같다
PIVOT ( 집계함수 (열)
FOR 새로운 열로 변경할 열이름
IN (열 목록) AS 피벗이름 )
1. 샘플 테이블을 만든다
CREATE TABLE pivotTest
 ( uName NCHAR(3) ,
  season NCHAR(2) ,
  amount INT ) ;
2. 테이블을 9건 입력한다.
INSERT INTO pivotTest VALUES
 ('김범수' , '겨울' , 10) , ('윤종신' , '여름' , 15) ,
 ('김범수' , '가을' , 25) , ('김범수' , '봄' , 3) ,
 ('김범수' , '봄' , 37) , ('윤종신' , '겨울' , 40) ,
 ('김범수' , '여름' , 14) , ('김범수' , '겨울' , 22) ,
 ('윤종신' , '여름' , 64) ;
SELECT * FROM pivotTest ;
3. PIVOT 연산자를 수행한다.
SELECT * FROM pivotTest
 PIVOT ( SUM(amount)
   FOR season
   IN ([봄],[여름],[가을],[겨울])) AS resultPivot ;
'MSSQL' 카테고리의 다른 글
| [MSSQL] The transaction log for database is full (0) | 2016.09.14 | 
|---|---|
| [MSSQL] WITH / CTE (0) | 2016.08.14 | 
| [MSSQL] 순위함수 RANK, NTILE, DENSE_RANK, ROW_NUMBER (0) | 2016.08.14 | 
| [MSSQL] 암호 대칭키 (0) | 2016.07.26 | 
| [MSSQL] 특수문자 제거 함수 RemoveSpecialChars (0) | 2016.07.25 |