Heim > Datenbank > MySQL-Tutorial > Wie kann ich ein Tabellenfeld mithilfe von Daten aus mehreren verbundenen Tabellen in SQL aktualisieren?

Wie kann ich ein Tabellenfeld mithilfe von Daten aus mehreren verbundenen Tabellen in SQL aktualisieren?

Barbara Streisand
Freigeben: 2025-01-22 14:07:09
Original
259 Leute haben es durchsucht

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

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage