Mengemas kini Jadual A berdasarkan Padanan Nama Pengguna dalam Jadual B
Panduan ini menunjukkan cara mengemas kini lajur dalam jadual table_a
menggunakan data daripada table_b
, memadankan baris berdasarkan lajur "nama_pengguna" biasa. Matlamatnya ialah untuk mengisi column_a_1
dan column_a_2
dalam table_a
dengan nilai daripada column_b_1
dan column_b_2
dalam table_b
, masing-masing, untuk memadankan nama pengguna.
Penyelesaian SQL:
Pernyataan SQL berikut cekap mencapai kemas kini ini:
<code class="language-sql">UPDATE table_a SET column_a_1 = (SELECT b.column_b_1 FROM table_b b WHERE b.user_name = table_a.user_name), column_a_2 = (SELECT b.column_b_2 FROM table_b b WHERE b.user_name = table_a.user_name) WHERE EXISTS (SELECT 1 FROM table_b b WHERE b.user_name = table_a.user_name);</code>
Pertanyaan ini menggunakan subkueri untuk mengambil nilai yang sesuai daripada table_b
dan menggunakannya pada baris yang sepadan dalam table_a
. Klausa EXISTS
memastikan bahawa hanya baris dengan nama pengguna yang sepadan dalam kedua-dua jadual dikemas kini, mengelakkan ralat jika nama pengguna wujud dalam table_a
tetapi tidak dalam table_b
. Menggunakan alias (seperti b
untuk table_b
) meningkatkan kebolehbacaan.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Lajur Jadual A Berdasarkan Padanan Nama Pengguna dalam Jadual B?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!