kaedah penukaran putaran sederhana SQL ServerDalam SQL Server, terdapat banyak cara untuk menukar baris ke dalam lajur.
Gunakan fungsi pivot
Fungsi pivot boleh dipindahkan dari baris ke lajur. Berikut adalah contoh pertanyaan menggunakan pivot:
Pertanyaan ini akan mengeluarkan hasil berikut:
<code class="language-sql">select Firstname, Amount, PostalCode, LastName, AccountNumber from ( select value, columnname from yourtable ) d pivot ( max(value) for columnname in (Firstname, Amount, PostalCode, LastName, AccountNumber) ) piv;</code>Salin selepas log masukSila ambil perhatian bahawa kecekapan fungsi pivot mungkin lebih rendah untuk set data yang besar.
Gunakan fungsi polimer dan ekspresi kes
FirstName Amount PostalCode LastName AccountNumber John 2.4 ZH1E4A Fork 857685
Jika pivot tidak berkenaan, anda boleh menggunakan fungsi polimer dan ekspresi kes, seperti yang ditunjukkan di bawah:
Pertanyaan ini akan menghasilkan hasil yang sama seperti pertanyaan pivot.Menggunakan pelbagai sambungan Join
<code class="language-sql">select max(case when columnname = 'FirstName' then value end) Firstname, max(case when columnname = 'Amount' then value end) Amount, max(case when columnname = 'PostalCode' then value end) PostalCode, max(case when columnname = 'LastName' then value end) LastName, max(case when columnname = 'AccountNumber' then value end) AccountNumber from yourtable</code>Salin selepas log masukKaedah lain ialah menggunakan pelbagai sambungan gabungan, seperti yang ditunjukkan di bawah:
Sila ambil perhatian bahawa untuk set data yang besar, kecekapan menggunakan pelbagai sambungan gabungan mungkin tidak tinggi. Kaedah untuk dipilih bergantung pada keperluan data dan prestasi khusus anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Baris ke Lajur dengan Cekap dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!