PIVOT
- 행과 열 변환
SELECT 컬럼명 FROM 테이블명
PIVOT([집계 함수]([집계 컬럼명]) FOR [대상 컬럼명] IN ([컬럼이 될 값])) AS 피벗테이블명
WITH A AS
(
SELECT '1학년' AS '학년', '1반' AS '반', 100 AS '점수'
UNION ALL SELECT '1학년', '2반', 30
UNION ALL SELECT '2학년', '1반', 80
UNION ALL SELECT '2학년', '2반', 90
)
SELECT * FROM A
PIVOT(SUM(점수) FOR 반 IN ([1반],[2반])) AS PVT
UNPIVOT
- PIVOT의 반대
SELECT 컬럼명 FROM 테이블명
UNPIVOT([집계될 데이터의 컬럼명] FOR [UNPIVOT할 컬럼 데이터의 컬럼명] IN ([UNPIVOT할 컬럼명])) AS 언피벗테이블명
WITH A AS
(
SELECT '1학년' AS '학년', 100 AS '1반', 30 AS '2반'
UNION ALL SELECT '2학년', 80, 90
)
SELECT 학년, 반, 점수 FROM A
UNPIVOT(점수 FOR 반 IN ([1반], [2반]))AS UNPVT
'프로그래밍 > DataBase' 카테고리의 다른 글
[MSSQL] DBCC CHECKIDENT 를 사용한 IDENTITY 값 초기화 (0) | 2023.08.09 |
---|---|
[MSSQL] 초를 시분초로 변환 (0) | 2023.08.08 |
[MSSQL] Multi UPDATE, 다중 UPDATE (0) | 2023.07.19 |
[MS-SQL] Begin Tran (0) | 2023.07.19 |
[MSSQL] 랜덤 (무작위) Select (0) | 2023.07.18 |