Heim > Datenbank > MySQL-Tutorial > Wie kann ich mehrere Spalten in SQL Server mit mehreren PIVOT-Anweisungen Pivotieren?

Wie kann ich mehrere Spalten in SQL Server mit mehreren PIVOT-Anweisungen Pivotieren?

DDD
Freigeben: 2025-01-03 16:55:41
Original
798 Leute haben es durchsucht

How to Pivot Multiple Columns in SQL Server Using Multiple PIVOT Statements?

Pivotieren mehrerer Spalten in SQL Server

In einer Datenbanktabelle, in der Daten in Zeilen und Spalten angeordnet sind, ist es manchmal erforderlich, die Tabellenstruktur durch Vertauschen der Zeilen mit zu transformieren Spalten. Diese Technik wird als Pivotieren bezeichnet.

Szenario:

Sie haben eine Beispieltabelle mit Spalten wie „Filiale“, „Kategorie“, „Verkäufe“, „Lager“ und „Ziel“. Sie möchten die Tabelle mithilfe der Spalte „Kategorie“ drehen und die verbleibenden Spalten (Umsatz, Lagerbestand, Ziel) als Zeilen anordnen. Die gewünschte Ausgabe sollte Kategorien als Spalten und Werte als Zeilen haben.

Lösung:

Zum Pivotieren der Tabelle können Sie mehrere PIVOT-Anweisungen mit geeigneten Änderungen des Spaltennamens verwenden:

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
Nach dem Login kopieren

Durch Ändern der Spaltennamen (z. B. Kategorie „1“ und Kategorie „2“) können Sie sicherstellen, dass die PIVOT-Anweisungen funktionieren korrekt.

Die Zwischentabellen (pv1, pv2, pv3) liefern jeweils die Pivot-Daten für Umsatz, Lagerbestand und Ziel. Anschließend können Sie die Ergebnisse von pv3 aggregieren, um die Werte nach Bedarf zu gruppieren und zu summieren.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Spalten in SQL Server mit mehreren PIVOT-Anweisungen Pivotieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage