Heim > Datenbank > MySQL-Tutorial > Wie können mehrere Spalten in T-SQL effizient geschwenkt werden?

Wie können mehrere Spalten in T-SQL effizient geschwenkt werden?

Linda Hamilton
Freigeben: 2025-01-05 00:54:43
Original
817 Leute haben es durchsucht

How to Pivot Multiple Columns in T-SQL Efficiently?

So Pivotieren mehrerer Spalten in TSQL

In TSQL umfasst das Pivotieren einer Tabelle das Neuanordnen von Zeilen in Spalten. Wenn Sie jedoch mit mehreren Spalten arbeiten, ist es wichtig, alle Beschriftungen beizubehalten.

Daten entpivotieren

Da wir über mehrere Datenspalten verfügen, wird zunächst empfohlen, deren Pivotierung aufzuheben in eine einzelne Spalte. Dies kann je nach SQL Server-Version entweder mit der UNPIVOT-Funktion oder der CROSS APPLY-Methode erreicht werden. Die Syntax zum Aufheben der Pivotierung wäre:

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

Durchführen der Pivotierung

Sobald die Pivotierung der Daten aufgehoben ist, können Sie die PIVOT-Funktion anwenden, um die Spalten wie gewünscht neu anzuordnen. Die Syntax wäre:

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

Ergebnis

Dies erzeugt die gewünschte Ausgabe:

|  RATIO | CURRENT RATIO | GEARING RATIO | PERFORMANCE RATIO |     TOTAL |
|--------|---------------|---------------|-------------------|-----------|
|  grade |          Good |          Good |      Satisfactory |      Good |
| result |       1.29400 |       0.33840 |           0.04270 |    (null) |
|  score |      60.00000 |      70.00000 |          50.00000 | 180.00000 |
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie können mehrere Spalten in T-SQL effizient geschwenkt werden?. 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