/*
샘플6 PIVOT / UNPIVOT 연산자
PIVOT (
집계함수(열)
FOR 새로운 열로 변경할 열이름
IN (열 목록) AS 피벗이름
)
*/
CREATE TABLE ZSAMPLE6 (
UNAME NCHAR(3),
SEASON NCHAR(2),
AMOUNT INT
);
INSERT INTO ZSAMPLE6 VALUES
('김길동', '겨울', 10)
,('이길동', '봄', 3)
,('홍길동', '겨울', 4)
,('황길동', '가을', 16)
,('구길동', '가을', 20)
,('박길동', '여름', 67)
;
SELECT * FROM ZSAMPLE6 ORDER BY SEASON, UNAME;
SELECT * FROM ZSAMPLE6
PIVOT ( SUM(AMOUNT)
FOR SEASON
IN ([봄], [어름], [가을], [겨울]) ) AS RESULT_PIVOT
;
UNAME | SEASON | AMOUNT |
구길동 | 가을 | 20 |
황길동 | 가을 | 16 |
김길동 | 겨울 | 10 |
홍길동 | 겨울 | 4 |
이길동 | 봄 | 3 |
박길동 | 여름 | 67 |
UNAME | 봄 | 여름 | 가을 | 겨울 |
구길동 | NULL | NULL | 20 | NULL |
김길동 | NULL | NULL | NULL | 10 |
박길동 | NULL | NULL | NULL | NULL |
이길동 | 3 | NULL | NULL | NULL |
홍길동 | NULL | NULL | NULL | 4 |
황길동 | NULL | NULL | 16 | NULL |
[출처] MSSQL PIVOT (행 -> 열)|작성자 동동아빠
'DBMS > MSSQL' 카테고리의 다른 글
MSSQL SPLIT 구현 (0) | 2017.07.24 |
---|---|
MSSQL 중복 데이터 삭제 (0) | 2017.07.24 |
MSSQL 날짜 , 요일로 변환하기 (0) | 2017.06.15 |
MSSQL MERGE / IF NOT EXISTS 문 사용법 (0) | 2017.06.07 |
MSSQL 금액에 콤마표시하기 (0) | 2017.05.25 |