Heim >Datenbank >MySQL-Tutorial >Wie werden mehrere Spalten in einer T-SQL-Tabelle geschwenkt?

Wie werden mehrere Spalten in einer T-SQL-Tabelle geschwenkt?

Linda Hamilton
Linda HamiltonOriginal
2025-01-04 21:45:41959Durchsuche

How to Pivot Multiple Columns in a T-SQL Table?

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:

  1. 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)
  2. 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!

Stellungnahme:
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