Mengemas kini Medan SQL Menggunakan Joins: Panduan Komprehensif
Selalunya, mengemas kini medan jadual memerlukan data daripada jadual lain. Ini dicapai dengan cekap menggunakan pernyataan UPDATE
SQL dengan gabungan. Panduan ini menunjukkan prosesnya.
Struktur Pertanyaan
Struktur asas UPDATE
pertanyaan yang menggabungkan gabungan ialah:
<code class="language-sql">UPDATE target_table SET target_field = source_value FROM target_table JOIN source_table1 ON join_condition1 JOIN source_table2 ON join_condition2 WHERE filter_condition;</code>
Contoh Ilustrasi
Katakan kita perlu mengemas kini medan mf_item_number
dalam jadual item_master
. Nilai baharu diperoleh daripada menyertai jadual item_master
, group_master
dan Manufacturer_Master
berdasarkan lajur sku
dan ManufacturerID
.
Pertanyaan SQL ialah:
<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>
Penjelasan
UPDATE im
: Menentukan jadual item_master
(disebut sebagai im
) untuk dikemas kini.SET mf_item_number = gm.SKU
: Menetapkan medan mf_item_number
kepada nilai SKU
daripada jadual group_master
(alias sebagai gm
).FROM item_master im JOIN ...
: Mentakrifkan cantuman antara tiga jadual berdasarkan nilai lajur yang sepadan.WHERE ...
: Menapis kemas kini kepada hanya baris yang mf_item_number
bermula dengan 'STA%' dan manufacturerID
ialah 34.Kes Am
Pendekatan ini boleh disesuaikan dengan pelbagai senario kemas kini:
<code class="language-sql">UPDATE tableA SET fieldA = tableB.fieldB FROM tableA JOIN tableB ON tableA.common_column = tableB.common_column WHERE condition;</code>
Kemas kini fieldA
dalam tableA
ini dengan nilai daripada fieldB
dalam tableB
, berdasarkan nilai common_column
yang sepadan dan mana-mana condition
yang dinyatakan. Ingat untuk sentiasa menyemak pertanyaan anda dengan teliti sebelum pelaksanaan untuk mengelakkan pengubahsuaian data yang tidak diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Medan dalam SQL Menggunakan Joins?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!