WEB/MSSQL

[MSSQL] 컬럼을 로우로 변경하여 출력

인생시계 2020. 12. 9. 09:35

[MSSQL] 컬럼(COLUMN)을 로우(ROW)로 변경하여 출력

 

WITH TEMP_TABLE AS
(
  SELECT '1반' AS '반정보', '일월' AS '이름', 90 AS '국어', 90 AS '영어', 80 AS '수학'
   UNION ALL
  SELECT '2반' AS '반정보', '이월' AS '이름', 70 AS '국어', 80 AS '영어', 60 AS '수학'
   UNION ALL
  SELECT '3반' AS '반정보', '삼월' AS '이름', 50 AS '국어', 70 AS '영어', 40 AS '수학'
)

SELECT *
   FROM TEMP_TABLE

 

임시테이블 쿼리 결과 출력

WITH TEMP_TABLE AS
(
  SELECT '1반' AS '반정보', '일월' AS '이름', 90 AS '국어', 90 AS '영어', 80 AS '수학'
   UNION ALL
  SELECT '2반' AS '반정보', '이월' AS '이름', 70 AS '국어', 80 AS '영어', 60 AS '수학'
   UNION ALL
  SELECT '3반' AS '반정보', '삼월' AS '이름', 50 AS '국어', 70 AS '영어', 40 AS '수학'
)

 SELECT UNPVT.[반정보]
            , UNPVT.[이름]
            , UNPVT.[과목]
            , UNPVT.[점수] 
  FROM TEMP_TABLE
UNPIVOT([점수]FOR[과목]IN([국어],[영어],[수학])) AS UNPVT

UNPIVOT을 이용하여 출력