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

SQL Server에서 여러 열을 동시에 피벗하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-31 09:29:09
원래의
919명이 탐색했습니다.

How to Pivot Multiple Columns Simultaneously in SQL Server?

SQL Server에서 여러 열 피벗

피벗은 데이터를 열에서 행으로 정렬할 수 있는 SQL의 변환 기술입니다. 이 컨텍스트에서는 범주 열을 행으로 피벗하고 각 범주의 매출, 재고 및 목표 값을 표시하는 것을 목표로 합니다.

샘플 입력:

Branch  Category  Sales  Stock  Target
Branch1 Panel     100    20     30
Branch1 AC        120    30     40
Branch1 Ref       150    40     50
로그인 후 복사

원함 출력:

Branch Panel AC Ref
Branch1 100 120 150
Branch1 20 30 40
Branch1 30 40 50

해결책:

원하는 출력을 얻으려면 다중 피버팅을 수행해야 합니다. 작업:

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
로그인 후 복사

참고:

  • 첫 번째 하위 쿼리는 여러 피벗을 준비하기 위해 Category1 및 Category2를 사용하여 Category 열에 새 이름을 할당합니다.
  • 후속 피벗 작업에서는 확장된 열 이름을 사용하여 각 열에 대한 행을 생성합니다. 카테고리.
  • 집계가 열에 적용되어 각 카테고리의 값을 합산합니다.

또한 pv3에서 집계 함수를 사용하여 필요에 따라 데이터를 추가로 요약할 수 있습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿