>데이터 베이스 >MySQL 튜토리얼 >여러 PIVOT 문을 사용하여 SQL Server에서 여러 열을 피벗하는 방법은 무엇입니까?

여러 PIVOT 문을 사용하여 SQL Server에서 여러 열을 피벗하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-03 16:55:41825검색

How to Pivot Multiple Columns in SQL Server Using Multiple PIVOT Statements?

SQL Server에서 여러 열 피벗

데이터가 행과 열로 배열되어 있는 데이터베이스 테이블에서는 때로는 행을 전환하여 테이블 구조를 변환해야 하는 경우가 있습니다. 열. 이 기술을 피벗팅이라고 합니다.

시나리오:

지점, 카테고리, 매출, 주식, 목표 등의 열이 포함된 샘플 테이블이 있습니다. Category 열을 사용하여 테이블을 피벗하고 나머지 열(Sales, Stock, Target)을 행으로 정렬하려고 합니다. 원하는 출력에는 범주가 열로, 값이 행으로 있어야 합니다.

해결책:

테이블을 피벗하려면 적절한 열 이름 수정과 함께 여러 PIVOT 문을 사용할 수 있습니다.

SELECT
*
FROM
(
  SELECT 
   Branch,
   Category,
   Category+'1' As Category1,
   Category+'2' As Category2,
   Sales, 
   Stock, 
   Target
  FROM TblPivot
 ) AS P

 -- For Sales
 PIVOT
 (
   SUM(Sales) FOR Category IN ([Panel], [AC], [Ref])
 ) AS pv1

 -- For Stock
 PIVOT
 (
   SUM(Stock) FOR Category1 IN ([Panel1], [AC1], [Ref1])
 ) AS pv2

 -- For Target
 PIVOT
 (
   SUM(Target) FOR Category2 IN ([Panel2], [AC2], [Ref2])
 ) AS pv3
 GO

열 이름(예: 카테고리 '1' 및 카테고리 '2')을 수정하여 다음을 수행할 수 있습니다. PIVOT 문이 올바르게 작동하는지 확인하세요.

중간 테이블(pv1, pv2, pv3)은 각각 Sales, Stock 및 Target에 대해 피벗된 데이터를 제공합니다. 그런 다음 pv3의 결과를 집계하여 필요에 따라 값을 그룹화하고 합산할 수 있습니다.

위 내용은 여러 PIVOT 문을 사용하여 SQL Server에서 여러 열을 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.