Heim > Datenbank > MySQL-Tutorial > Wie kann ich mehrere Spalten in SQL Server dynamisch Pivotieren?

Wie kann ich mehrere Spalten in SQL Server dynamisch Pivotieren?

Mary-Kate Olsen
Freigeben: 2025-01-04 01:42:40
Original
872 Leute haben es durchsucht

How Can I Dynamically Pivot Multiple Columns in SQL Server?

Dynamisches Pivot mit mehreren Spalten in SQL Server

In SQL Server können Sie durch das Pivotieren von Daten Zeilen in Spalten transponieren und so intuitivere Daten ermöglichen Analyse. Beim Umgang mit mehreren Spalten kann die Verwendung eines dynamischen Ansatzes dazu beitragen, Spaltennamen oder -werte zu ändern.

Daten aufheben

Um Daten mit mehreren Spalten dynamisch zu Pivotieren, beginnen Sie mit dem Aufheben der Pivotierung die relevanten Spalten entweder mit der UNPIVOT-Funktion oder CROSS APPLY. Durch diesen Prozess werden mehrere Spalten in Zeilen umgewandelt, sodass sie einfacher zu bearbeiten sind.

Dynamische PIVOT-Funktion

Sobald die Pivotierung aufgehoben ist, können Sie die PIVOT-Funktion verwenden, um die Pivot-Tabelle zu erstellen. Allerdings müssen die Spaltennamen in der PIVOT-Funktion mit den nicht pivotierten Daten übereinstimmen. Um dies dynamisch zu erreichen, verketten Sie die Werte der Spalten mit ihren jeweiligen Metadaten mithilfe der folgenden Schritte:

  1. Wählen Sie die Spalten aus, die geschwenkt werden sollen, und geben Sie ihre verketteten Namen in der @cols-Variablen an.
  2. Konstruieren Sie die dynamische Abfrage in der Variablen @query, indem Sie die verketteten Spaltennamen einbeziehen.
  3. Verwenden Sie sp_executesql um die dynamische SQL-Abfrage auszuführen und das Pivot-Ergebnis zu erhalten.

Beispiel

Betrachten Sie die folgende Beispieltabelle mit den Spalten „Jahr“, „Typ“, „Gesamt“ und „Volumen“:

ID YEAR TYPE TOTAL VOLUME
DD1 2008 A 1000 10
DD1 2008 B 2000 20
DD1 2008 C 3000 30

Mit dem dynamischen Pivot-Ansatz können Sie eine Pivot-Tabelle mit Folgendem erstellen Struktur:

ID 2008_A_Total 2008_A_Volume 2008_B_Total 2008_B_Volume 2008_C_Total 2008_C_Volume
DD1 1000 10 2000 20 3000 30

Durch die Kombination von Unpivoting- und dynamischen Pivot-Techniken können Sie Daten mit unterschiedlichen Spalten in SQL Server effektiv transformieren und analysieren.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Spalten in SQL Server dynamisch 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage