Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Pivot Pelbagai Lajur dalam T-SQL dengan Cekap?

Bagaimana untuk Pivot Pelbagai Lajur dalam T-SQL dengan Cekap?

Linda Hamilton
Lepaskan: 2025-01-05 00:54:43
asal
854 orang telah melayarinya

How to Pivot Multiple Columns in T-SQL Efficiently?

Cara Mengubah Berbilang Lajur dalam TSQL

Dalam TSQL, memutar jadual melibatkan penyusunan semula baris ke dalam lajur. Walau bagaimanapun, apabila berurusan dengan berbilang lajur, adalah penting untuk mengekalkan semua label.

Menyahpivot Data

Untuk bermula, memandangkan kami mempunyai berbilang lajur data, adalah disyorkan untuk menyahpangsinya ke dalam satu lajur. Ini boleh dicapai menggunakan sama ada fungsi UNPIVOT atau kaedah CROSS APPLY, bergantung pada versi SQL Server. Sintaks untuk nyahpaut ialah:

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)
Salin selepas log masuk

Melaksanakan Pivot

Setelah data dinyahpivot, anda boleh menggunakan fungsi PIVOT untuk menyusun semula lajur seperti yang dikehendaki. Sintaksnya ialah:

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;
Salin selepas log masuk

Hasil

Ini akan menghasilkan output yang diingini:

|  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 |
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Pivot Pelbagai Lajur dalam T-SQL dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan