집 >데이터 베이스 >MySQL 튜토리얼 >여러 PIVOT 문을 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!