Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Pivot Berbilang Lajur dalam Jadual T-SQL?

Bagaimana untuk Pivot Berbilang Lajur dalam Jadual T-SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-04 21:45:41951semak imbas

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

Jadual T-SQL Pangsi untuk Berbilang Lajur

Dalam T-SQL, data pangsi boleh menjadi teknik yang berguna untuk mengubah struktur jadual untuk dibentangkan data secara berbeza. Apabila pivoting melibatkan pengendalian berbilang lajur, nyahpangsi data mungkin terbukti bermanfaat.

Pertimbangkan jadual berikut:

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

Matlamatnya adalah untuk memutar jadual ini untuk mendapatkan hasil yang diingini berikut:

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

Untuk mencapai ini, kita boleh mengikuti ini langkah:

  1. Nyahpivot Keputusan, Skor dan Lajur Gred:

    Gunakan fungsi UNPIVOT atau CROSS APPLY untuk menyahpangsi data:

    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. Pivot Data Unpivoted:

    Gunakan fungsi PIVOT pada data unpivoted:

    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;

Ini akan menghasilkan hasil yang diingini, menyediakan jadual dengan berbilang lajur berputar.

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

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