최적의 데이터 표시를 위해 SQL Server에서 여러 열 피벗
관계형 데이터베이스로 작업할 때 테이블 피벗은 데이터 형태를 변경하는 효과적인 방법이 될 수 있습니다. 더 쉽게 분석하고 시각화할 수 있습니다. SQL Server에서 이 기술은 행으로 표시하려는 여러 열이 있는 테이블을 처리할 때 특히 유용할 수 있습니다.
문제 설명:
다음 샘플을 고려하세요. 테이블:
Branch | Category | Sales | Stock | Target ------- | ******** | ----- | ----- | ------- Branch1 | Panel | 100 | 200 | 300 Branch1 | AC | 150 | 250 | 350 Branch1 | Ref | 200 | 300 | 400
목표는 Category 열을 피벗하고 Sales, Stock 및 Target 열을 행으로 표시하여 다음을 생성하는 것입니다. 출력:
Branch | Panel | AC | Ref | ------- | ------ | -- | ---- | Branch1 | 100 | 150 | 200 |
해결책:
원하는 출력을 얻으려면 SQL Server에서 일련의 피벗 문을 사용할 수 있습니다. 핵심은 후속 피벗 작업을 준비하기 위해 중간 피벗 결과에서 열 이름을 바꾸는 것입니다.
다음 코드를 고려하세요.
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
이 코드는 다음 단계를 실행합니다.
결과 pv3 테이블에는 다음이 포함됩니다. 범주는 행으로, 열은 판매, 재고, 목표 값을 나타내는 원하는 출력입니다.
위 내용은 최적의 데이터 표시를 위해 SQL Server에서 여러 열을 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!