Bagaimana untuk Mengemas kini Jadual dengan Data daripada Jadual Lain Berdasarkan ID Padanan dan Susun Isih?

Patricia Arquette
Lepaskan: 2024-10-31 03:08:02
asal
810 orang telah melayarinya

How to Update a Table with Data from Another Table Based on Matching IDs and Sort Order?

Pertanyaan MySQL Terperinci: Mengemas kini Jadual menggunakan Data daripada Jadual Lain

Tugas di tangan ialah mengemas kini lajur e-mel dalam jadual perniagaan dengan data daripada lajur e-mel dalam jadual orang. Kedua-dua jadual disambungkan oleh lajur business_id.

Pendekatan mudah untuk pertanyaan kemas kini ini adalah seperti berikut:

<code class="sql">UPDATE business b
SET b.email = (
    SELECT email
    FROM people p
    WHERE p.business_id = b.business_id AND sort_order = '1'
)
WHERE b.email = '';</code>
Salin selepas log masuk

Walau bagaimanapun, pertanyaan ini hanya akan mengemas kini padanan pertama untuk setiap business_id dalam meja rakyat. Pengubahsuaian untuk memastikan kami mengemas kini semua rekod perniagaan yang berkaitan ialah:

<code class="sql">UPDATE business b, people p
SET b.email = p.email
WHERE b.business_id = p.business_id
AND p.sort_order = '1'
AND b.email = '';</code>
Salin selepas log masuk

Dengan menyertai jadual perniagaan (b) dan orang (p) secara eksplisit menggunakan sintaks JOIN, pertanyaan memastikan bahawa hanya orang yang mempunyai susunan_urutan tertinggi nilai (iaitu, '1' dalam kes ini) mempengaruhi kemas kini. Ini lebih tepat sepadan dengan matlamat yang dimaksudkan untuk mengemas kini data perniagaan dengan e-mel orang yang mendapat kedudukan tertinggi untuk setiap perniagaan.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Jadual dengan Data daripada Jadual Lain Berdasarkan ID Padanan dan Susun Isih?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!