Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengubah Berbilang Lajur dalam T-SQL untuk Mengubah Data Nisbah Kewangan?
Pivot Multiple Lajur dalam TSQL
Apabila bekerja dengan pangkalan data hubungan, selalunya perlu mengubah data untuk memudahkan analisis atau laporan mengenai. Satu cara untuk melakukan ini ialah dengan memutar data, yang melibatkan penggiliran baris ke dalam lajur dan sebaliknya.
Pertimbangkan jadual berikut yang mengandungi nisbah kewangan, keputusan, markah dan gred:
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 |
Untuk memutar data ini dan mengekalkan semua label, kita perlu menyahpangsi hasil, skor dan lajur gred supaya setiap baris mempunyai satu nilai dalam setiap lajur. Ini boleh dicapai menggunakan fungsi UNPIVOT atau CROSS APPLY, bergantung pada versi SQL Server yang anda gunakan.
Setelah data dinyahpivot, kami boleh menggunakan fungsi PIVOT untuk memutarkan baris ke dalam lajur. Sintaks akan serupa dengan yang berikut:
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;
Output yang terhasil ialah jadual dengan satu baris untuk setiap nisbah dan lajur untuk nisbah semasa, nisbah penggearan, nisbah prestasi, jumlah, skor dan gred:
RATIO | CURRENT RATIO | GEARING RATIO | PERFORMANCE RATIO | TOTAL | SCORE | GRADE |
---|---|---|---|---|---|---|
grade | Good | Good | Satisfactory | Good | NULL | NULL |
result | 1.29400 | 0.33840 | 0.04270 | NULL | NULL | NULL |
score | 60.00000 | 70.00000 | 50.00000 | 180.00000 | NULL | NULL |
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Berbilang Lajur dalam T-SQL untuk Mengubah Data Nisbah Kewangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!