Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengemas kini Jadual dalam SQL Menggunakan Nilai Bergabung daripada Berbilang Jadual?

Bagaimanakah Saya Boleh Mengemas kini Jadual dalam SQL Menggunakan Nilai Bergabung daripada Berbilang Jadual?

Susan Sarandon
Susan Sarandonasal
2025-01-22 13:51:101038semak imbas

How Can I Update a Table in SQL Using Joined Values from Multiple Tables?

Menggunakan JOIN untuk mengemas kini jadual SQL Server

Menggunakan JOIN untuk mengemas kini jadual pangkalan data ialah teknik yang berkuasa untuk mengubah suai data berdasarkan perhubungan antara berbilang jadual. Dalam Microsoft SQL Server, kenyataan UPDATE boleh digunakan bersama-sama dengan JOIN untuk mencapai tujuan ini.

Soalan:

Anda perlu mengemas kini medan dalam jadual "item_master" dengan nilai JOIN dari tiga jadual lain ("group_master", "Manufacturer_Master" dan "item_master" itu sendiri).

Penyelesaian:

Langkah 1: Bina pertanyaan JOIN

<code class="language-sql">SELECT
    im.itemid,
    im.sku AS iSku,
    gm.SKU AS GSKU,
    mm.ManufacturerId AS ManuId,
    mm.ManufacturerName,
    im.mf_item_number,
    mm.ManufacturerID
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>

Pertanyaan ini mendapatkan semula semua baris yang sepadan daripada tiga jadual dan penapis berdasarkan kriteria yang ditentukan.

Langkah 2: Kemas kini medan menggunakan JOIN

Pernyataan UPDATE berikut menetapkan medan "mf_item_number" jadual "item_master" kepada nilai "gm.SKU" menggunakan alias jadual (im, gm, mm) dalam klausa JOIN:

<code class="language-sql">UPDATE im
SET mf_item_number = gm.SKU
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>

Arahan:

  • Jadual sasaran untuk kemas kini ialah "item_master" (alias "im").
  • Nilai yang akan dikemas kini ialah "gm.SKU" (daripada jadual "group_master").
  • Klausa JOIN memastikan baris yang akan dikemas kini memenuhi syarat yang diberikan.
  • Pertanyaan ini mengemas kini semua medan "mf_item_number" dalam jadual "item_master" yang memenuhi syarat yang ditetapkan menggunakan nilai "SKU" yang sepadan dalam jadual "group_master".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Jadual dalam SQL Menggunakan Nilai Bergabung daripada Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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