SQL UPDATE-Abfrage mit JOIN
Angenommen, Sie müssen ein Feld in einer Tabelle basierend auf Werten aktualisieren, die aus einer Verknüpfung mehrerer Tabellen abgerufen wurden. Beispielsweise könnten Sie über eine Tabelle „item_master“ (im) verfügen, die ein Feld „mf_item_number“ enthält, das basierend auf Daten aus „group_master“ (gm) und „Manufacturer_Master“ (mm) aktualisiert werden muss.
<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>
Um das Feld mf_item_number in item_master zu aktualisieren, können Sie die folgende SQL-Anweisung verwenden:
<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>
Diese Abfrage aktualisiert das Feld „mf_item_number“ in „item_master“ basierend auf dem SKU-Wert in „group_master“, der selbst durch eine Bedingung gefiltert wird, an der „Manufacturer_Master“ beteiligt ist.
Hier ist ein Beispiel für eine generische Update-Abfrage mit Joins:
<code class="language-sql">UPDATE A SET foo = B.bar FROM TableA A JOIN TableB B ON A.col1 = B.colx WHERE ...;</code>
In diesem Beispiel referenziert die UPDATE-Klausel den Tabellenalias A in der FROM-Klausel, um das Feld foo basierend auf dem B.bar-Wert zu aktualisieren, der aus der Verknüpfung zwischen TableA und TableB abgerufen wurde.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich ein Tabellenfeld mithilfe von SQL-Joins?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!