Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Medan Jadual Menggunakan SQL Joins?

Bagaimana untuk Mengemas kini Medan Jadual Menggunakan SQL Joins?

DDD
DDDasal
2025-01-22 14:05:11810semak imbas

How to Update a Table Field Using SQL Joins?

Pertanyaan SQL UPDATE menggunakan JOIN

Andaikan anda perlu mengemas kini medan dalam jadual berdasarkan nilai yang diperoleh daripada gabungan berbilang jadual. Contohnya, anda mungkin mempunyai jadual item_master (im) yang mengandungi medan mf_item_number yang perlu dikemas kini berdasarkan data daripada group_master (gm) dan Manufacturer_Master (mm).

<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, group_master gm, Manufacturer_Master mm
WHERE
    im.mf_item_number LIKE 'STA%'
    AND im.sku = gm.sku
    AND gm.ManufacturerID = mm.ManufacturerID
    AND gm.manufacturerID = 34;</code>

Untuk mengemas kini medan mf_item_number dalam item_master, anda boleh menggunakan pernyataan SQL berikut:

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

Pertanyaan ini mengemas kini medan mf_item_number dalam item_master berdasarkan nilai SKU dalam group_master, yang dengan sendirinya ditapis oleh syarat yang melibatkan Manufacturer_Master.

Berikut ialah contoh pertanyaan kemas kini generik menggunakan gabungan:

<code class="language-sql">UPDATE A
SET foo = B.bar
FROM TableA A
JOIN TableB B ON A.col1 = B.colx
WHERE ...;</code>

Dalam contoh ini, klausa KEMASKINI merujuk jadual alias A dalam klausa FROM untuk mengemas kini medan foo berdasarkan nilai B.bar yang diambil daripada cantuman antara JadualA dan JadualB.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Medan Jadual Menggunakan SQL Joins?. 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