Heim >Datenbank >MySQL-Tutorial >Wie werden mehrere Spalten in einer T-SQL-Tabelle geschwenkt?
Pivot-T-SQL-Tabellen für mehrere Spalten
In T-SQL kann das Pivotieren von Daten eine nützliche Technik zum Transformieren von Tabellenstrukturen in die Präsentation sein Daten anders. Wenn bei der Pivotierung mehrere Spalten verarbeitet werden müssen, kann sich das Aufheben der Pivotierung der Daten als vorteilhaft erweisen.
Betrachten Sie die folgende Tabelle:
RATIO | RESULT | SCORE | GRADE |
---|---|---|---|
Current Ratio | 1.294 | 60 | Good |
Gearing Ratio | 0.3384 | 70 | Good |
Performance Ratio | 0.0427 | 50 | Satisfactory |
TOTAL | NULL | 180 | Good |
Das Ziel besteht darin, diese Tabelle zu schwenken, um das folgende gewünschte Ergebnis zu erhalten:
RATIO | Current Ratio | Gearing Ratio | Performance Ratio | TOTAL |
---|---|---|---|---|
Result | 1.294 | 0.3384 | 0.0427 | NULL |
Score | 60 | 70 | 50 | 180 |
Grade | Good | Good | Satisfactory | Good |
Um dies zu erreichen, können wir diese befolgen Schritte:
Ergebnis-, Punkte- und Notenspalten entpivotieren:
Verwenden Sie die Funktion UNPIVOT oder CROSS APPLY, um die Pivotierung der Daten aufzuheben:
SELECT RATIO, COL, VALUE FROM GRAND_TOTALS CROSS APPLY ( SELECT 'RESULT', CAST(RESULT AS VARCHAR(10)) UNION ALL SELECT 'SCORE', CAST(SCORE AS VARCHAR(10)) UNION ALL SELECT 'GRADE', GRADE ) C(COL, VALUE)
Drehen Sie die Aufgehobene Daten:
Wenden Sie die PIVOT-Funktion auf die aufgehobenen Daten an:
SELECT RATIO = COL, [CURRENT RATIO], [GEARING RATIO], [PERFORMANCE RATIO], TOTAL FROM ( SELECT RATIO, COL, VALUE FROM GRAND_TOTALS CROSS APPLY ( SELECT 'RESULT', CAST(RESULT AS VARCHAR(10)) UNION ALL SELECT 'SCORE', CAST(SCORE AS VARCHAR(10)) UNION ALL SELECT 'GRADE', GRADE ) C(COL, VALUE) ) D PIVOT ( MAX(VALUE) FOR RATIO IN ([CURRENT RATIO], [GEARING RATIO], [PERFORMANCE RATIO], TOTAL) ) PIV;
Dies führt zum gewünschten Ergebnis und stellt eine Tabelle mit mehreren geschwenkten Spalten bereit .
Das obige ist der detaillierte Inhalt vonWie werden mehrere Spalten in einer T-SQL-Tabelle geschwenkt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!