Pivotieren mehrerer Spalten in SQL Server
Pivotieren ist eine Transformationstechnik in SQL, die es ermöglicht, Daten aus Spalten in Zeilen anzuordnen. In diesem Zusammenhang möchten Sie die Kategoriespalte in Zeilen umwandeln und Verkäufe, Lagerbestände und Zielwerte für jede Kategorie anzeigen.
Beispieleingabe:
Branch Category Sales Stock Target Branch1 Panel 100 20 30 Branch1 AC 120 30 40 Branch1 Ref 150 40 50
Gewünscht Ausgabe:
Branch | Panel | AC | Ref |
---|---|---|---|
Branch1 | 100 | 120 | 150 |
Branch1 | 20 | 30 | 40 |
Branch1 | 30 | 40 | 50 |
Lösung:
Um die gewünschte Ausgabe zu erzielen, müssen Sie mehrere Schwenkvorgänge durchführen:
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
Hinweis:
Darüber hinaus können Sie Aggregatfunktionen auf pv3 verwenden, um die Daten nach Bedarf weiter zusammenzufassen.
Das obige ist der detaillierte Inhalt vonWie kann man in SQL Server mehrere Spalten gleichzeitig drehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!