在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中文網其他相關文章!