>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 여러 열(판매, 재고, 목표)을 동시에 피벗하는 방법은 무엇입니까?

SQL Server에서 여러 열(판매, 재고, 목표)을 동시에 피벗하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-02 13:40:38143검색

How to Pivot Multiple Columns (Sales, Stock, Target) Simultaneously in SQL Server?

SQL Server에서 여러 열을 피벗하는 방법

문제:

품목 카테고리(예: Panel, AC, Ref)와 다음과 같은 데이터를 나타내는 열이 있는 테이블 매출, 재고, 목표. 이 데이터를 카테고리가 행이 되고 열이 각 카테고리(매출, 주식, 목표)에 대한 해당 데이터를 보유하는 피벗 형식으로 변환하려고 합니다.

해결책:

이를 달성하기 위해 SQL에서 여러 피벗 문을 활용할 수 있습니다. 서버:

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. 내부 SELECT: 지점 이름을 포함하여 원본 테이블에서 필요한 데이터를 가져옵니다. 및 정리되지 않은 카테고리 이름.
  2. 열 이름 바꾸기: 후속 피벗을 용이하게 하려면 접미사('1' 및 '2')를 사용하여 범주 열의 이름을 바꿉니다.
  3. 첫 번째 피벗(pv1): 판매 열에 대한 피벗, 그룹화 카테고리별 데이터.
  4. 두 번째 피벗 (pv2): 새로 이름이 바뀐 범주 열(예: Panel1)을 사용하여 주식 열에 대해 피벗합니다.
  5. 세 번째 피벗(pv3): 새로 이름을 사용하여 대상 열에 대해 피벗합니다. 카테고리 열 이름이 변경되었습니다(예: Panel2).

한 번 피버팅이 완료되면 결과를 집계하거나 필요에 따라 추가 데이터 조작을 수행할 수 있습니다.

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

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