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
참고:
또한 pv3에서 집계 함수를 사용하여 필요에 따라 데이터를 추가로 요약할 수 있습니다.
위 내용은 SQL Server에서 여러 열을 동시에 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!