SQL-UPDATE mit mehreren Tabellenverknüpfungen
Das Aktualisieren eines Tabellenfelds mithilfe von Daten aus mehreren verbundenen Tabellen ist ein häufiger SQL-Vorgang. Dieser Leitfaden zeigt, wie Sie diese Aufgabe effizient ausführen können.
Szenario:
Stellen Sie sich eine Datenbank mit drei Tabellen vor: item_master
(im), group_master
(gm) und Manufacturer_Master
(mm). Wir verwenden diese Tabellen, um den Aktualisierungsprozess zu veranschaulichen. Ein Beispiel für den Datenabruf ist unten dargestellt:
<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>
Update-Anforderung:
Ziel ist es, das Feld mf_item_number
in item_master
mit Werten zu aktualisieren, die aus den verknüpften Tabellen abgeleitet sind.
SQL-Lösung:
Die folgende SQL-Anweisung führt dieses Update durch:
<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>
Erklärung:
UPDATE im
: Gibt die Tabelle (item_master
mit dem Alias im
) an, die aktualisiert werden soll.SET mf_item_number = gm.SKU
: Weist mf_item_number
den neuen Wert zu. Der neue Wert stammt aus der Spalte SKU
in der Tabelle group_master
(gm
). Sie können gm.SKU
durch jedes andere relevante Feld aus den verknüpften Tabellen ersetzen.FROM item_master im JOIN group_master gm ON im.sku = gm.sku JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
: Definiert die Verknüpfungen zwischen den drei Tabellen basierend auf übereinstimmenden sku
- und ManufacturerID
-Werten.WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34
: Filtert die zu aktualisierenden Zeilen und stellt sicher, dass nur diejenigen betroffen sind, die den angegebenen Kriterien entsprechen.Durch die Ausführung dieser Abfrage wird das Feld mf_item_number
in der Tabelle item_master
mit den entsprechenden SKU
-Werten aus group_master
aktualisiert, basierend auf den Join-Bedingungen und WHERE-Klauselfiltern. Denken Sie daran, die SET
-Klausel und die WHERE
-Klausel an Ihre spezifischen Update-Anforderungen anzupassen.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Tabellenfeld mithilfe von Daten aus mehreren verbundenen Tabellen in SQL aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!