투케이2K

106. (MSSQL/SQL) PIVOT (피벗) 방식을 사용해 데이터 표시 (행) 에서 (열) 로 변환 수행 실시 본문

MsSqlDB

106. (MSSQL/SQL) PIVOT (피벗) 방식을 사용해 데이터 표시 (행) 에서 (열) 로 변환 수행 실시

투케이2K 2023. 2. 4. 12:49

[개발 환경 설정]

개발 툴 : SSMS

개발 언어 : MSSQL

 

[소스 코드]

/*
----------------------------------------------
[요약 설명]
----------------------------------------------
1. WITH : MSSQL 에서 임시 가상 테이블을 생성할 수 있습니다
----------------------------------------------
2. PIVOT 은 개별 가로 행 (과목명칭) 데이터를 세로 열 로 변환해줍니다
----------------------------------------------
*/


/* [임시 가상 테이블 만들기 실시] */
WITH SAMPLE_USER AS 
(
  SELECT '홍길동' AS 이름, '국어' AS 과목명칭, 80 AS 과목점수
  UNION ALL
  SELECT '홍길동' AS 이름, '영어' AS 과목명칭, 85 AS 과목점수
  UNION ALL
  SELECT '홍길동' AS 이름, '수학' AS 과목명칭, 90 AS 과목점수 
  UNION ALL
  SELECT '임꺾정' AS 이름, '국어' AS 과목명칭, 90 AS 과목점수
  UNION ALL
  SELECT '임꺾정' AS 이름, '영어' AS 과목명칭, 95 AS 과목점수 
  UNION ALL
  SELECT '임꺾정' AS 이름, '수학' AS 과목명칭, 90 AS 과목점수

)



/* [쿼리문] : 원본 테이블 출력 */
/*
SELECT *
    FROM SAMPLE_USER
;
*/



/* [쿼리문] : 피벗 정렬 수행 쿼리문 (행 > 열) */
SELECT *
    FROM 
    (
       -- [FROM 절 인라인 뷰 조회]
       SELECT * FROM SAMPLE_USER
    ) AS SAMPLE_TABLE
PIVOT (SUM(과목점수) FOR 과목명칭 IN ([국어], [영어], [수학])) AS PIVOT_RESULT;
 

[원본 테이블]

 

[결과 출력]

 

 

반응형
Comments