Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Pivot Baris ke Lajur dalam SQL untuk Respons Pengguna?
SQL Transpose Baris sebagai Lajur
Memindahkan baris ke lajur dalam SQL ialah teknik yang membolehkan anda menukar jadual dengan data berorientasikan baris ke dalam jadual dengan data berorientasikan lajur. Teknik ini biasanya dikenali sebagai pivoting.
Dalam senario khusus anda, anda mempunyai dua jadual:
Matlamat anda adalah untuk menukar jadual "respons" supaya setiap jawapan pengguna kepada soalan berbeza muncul sebagai lajur, bukannya baris.
Langkah demi- Langkah Penyelesaian:
Untuk mencapai transposisi yang diingini, anda boleh menggunakan gabungan cantuman dan bersyarat pengagregatan:
SELECT r.user_id, MAX(CASE WHEN r.question_id = 1 THEN r.body ELSE NULL END) AS "Do you like apples?", MAX(CASE WHEN r.question_id = 2 THEN r.body ELSE NULL END) AS "Do you like oranges?", MAX(CASE WHEN r.question_id = 3 THEN r.body ELSE NULL END) AS "Do you like carrots?" FROM responses r JOIN questions q ON q.id = r.question_id GROUP BY r.user_id;
Penjelasan:
Contoh Keputusan:
user_id | Do you like apples? | Do you like oranges? | Do you like carrots? -------- | ------------------ | ------------------- | ------------------- 1 | Yes | Yes | No 2 | Yes | No | No
Atas ialah kandungan terperinci Bagaimana untuk Pivot Baris ke Lajur dalam SQL untuk Respons Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!