Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Medan Jadual Menggunakan 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!