Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Lajur Jadual A Berdasarkan Padanan Nama Pengguna dalam Jadual B?

Bagaimana untuk Mengemas kini Lajur Jadual A Berdasarkan Padanan Nama Pengguna dalam Jadual B?

Mary-Kate Olsen
Lepaskan: 2025-01-15 07:40:46
asal
931 orang telah melayarinya

How to Update Table A Columns Based on Matching Usernames in Table B?

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan