Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengemas kini Medan Jadual Menggunakan Data daripada Jadual Berbilang Gabungan dalam SQL?

Bagaimanakah Saya Boleh Mengemas kini Medan Jadual Menggunakan Data daripada Jadual Berbilang Gabungan dalam SQL?

Barbara Streisand
Lepaskan: 2025-01-22 14:07:09
asal
258 orang telah melayarinya

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

SQL UPDATE dengan Gabungan Jadual Berbilang

Mengemas kini medan jadual menggunakan data daripada berbilang jadual bercantum ialah operasi SQL yang kerap. Panduan ini menunjukkan cara melaksanakan tugas ini dengan cekap.

Senario:

Bayangkan pangkalan data dengan tiga jadual: item_master (im), group_master (gm) dan Manufacturer_Master (mm). Kami akan menggunakan jadual ini untuk menggambarkan proses kemas kini. Sampel pengambilan data ditunjukkan di bawah:

<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>
Salin selepas log masuk

Keperluan Kemas Kini:

Matlamatnya adalah untuk mengemas kini medan mf_item_number dalam item_master dengan nilai yang diperoleh daripada jadual yang digabungkan.

Penyelesaian SQL:

Pernyataan SQL berikut mencapai kemas kini ini:

<code class="language-sql">UPDATE im
SET mf_item_number = gm.SKU  -- Or other appropriate field from joined tables
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>
Salin selepas log masuk

Penjelasan:

  • UPDATE im: Menentukan jadual (item_master alias sebagai im) untuk dikemas kini.
  • SET mf_item_number = gm.SKU: Berikan nilai baharu kepada mf_item_number. Nilai baharu diperoleh daripada lajur SKU dalam jadual group_master (gm). Anda boleh menggantikan gm.SKU dengan mana-mana medan lain yang berkaitan daripada jadual yang dicantumkan.
  • FROM item_master im JOIN group_master gm ON im.sku = gm.sku JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID: Mentakrifkan cantuman antara tiga jadual berdasarkan padanan nilai sku dan ManufacturerID.
  • WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34: Menapis baris yang akan dikemas kini, memastikan hanya yang sepadan dengan kriteria yang ditentukan akan terjejas.

Melaksanakan pertanyaan ini mengemas kini medan mf_item_number dalam jadual item_master dengan nilai SKU yang sepadan daripada group_master, berdasarkan syarat gabungan dan penapis klausa WHERE. Ingat untuk melaraskan klausa SET dan klausa WHERE agar sepadan dengan keperluan kemas kini khusus anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Medan Jadual Menggunakan Data daripada Jadual Berbilang Gabungan dalam SQL?. 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