투케이2K

69. (MSSQL/SQL) UNPIVOT (피벗) 방식을 사용해 개별 컬럼 데이터를 행으로 변환 출력 실시 본문

MsSqlDB

69. (MSSQL/SQL) UNPIVOT (피벗) 방식을 사용해 개별 컬럼 데이터를 행으로 변환 출력 실시

투케이2K 2022. 5. 23. 12:38

[개발 환경 설정]

개발 툴 : SSMS

개발 언어 : MSSQL

 

[소스 코드]

/*
[요약 설명]
1. WITH : MSSQL 에서 임시 가상 테이블을 생성할 수 있습니다
2. UNION ALL : 데이터를 병합할 때 사용합니다
3. UNPIVOT 은 개별 세로 열 (국어, 영어, 수학) 데이터를 가로 행 으로 변환해줍니다
4. UNPIVOT (과목점수 FOR 과목명칭 IN (국어, 영어, 수학)) 는 개별 국어 , 영어, 수학 열 컬럼을 [과목 명칭 = 과목 점수] 행으로 표시합니다
*/


/* [임시 가상 테이블 만들기 실시] */
WITH SAMPLE_USER AS 
(
  SELECT '홍길동' AS 이름, 80 AS 국어, 85 AS 영어, 90 AS 수학 FROM (SELECT '1' AS DUAL) A
  UNION ALL
  SELECT '임꺾정' AS 이름, 70 AS 국어, 75 AS 영어, 85 AS 수학 FROM (SELECT '1' AS DUAL) A
)


/* [쿼리문] : 피벗 정렬 수행 쿼리문 (열 > 행) */
SELECT 이름,
       과목명칭,
       과목점수
    FROM SAMPLE_USER
UNPIVOT (과목점수 FOR 과목명칭 IN (국어, 영어, 수학)) AS UNPIVOT_RESULT;
 

[결과 출력]


 

반응형
Comments