Heim > Datenbank > MySQL-Tutorial > Wie kann man in SQL Server mehrere Spalten gleichzeitig drehen?

Wie kann man in SQL Server mehrere Spalten gleichzeitig drehen?

Susan Sarandon
Freigeben: 2024-12-31 09:29:09
Original
944 Leute haben es durchsucht

How to Pivot Multiple Columns Simultaneously in SQL Server?

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

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

Hinweis:

  • Die erste Unterabfrage weist der Kategorie neue Namen zu Spalte mit Kategorie1 und Kategorie2, um sich auf mehrere Pivots vorzubereiten.
  • Nachfolgende Pivot-Vorgänge verwenden diese erweiterten Spaltennamen, um Zeilen für jede Kategorie zu erstellen.
  • Aggregationen werden auf die Spalten angewendet, um die Werte für jede Kategorie zusammenzufassen Kategorie.

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!

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