Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine Tabelle in SQL mithilfe verknüpfter Werte aus mehreren Tabellen aktualisieren?

Wie kann ich eine Tabelle in SQL mithilfe verknüpfter Werte aus mehreren Tabellen aktualisieren?

Susan Sarandon
Susan SarandonOriginal
2025-01-22 13:51:10992Durchsuche

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

Mit JOIN die SQL Server-Tabelle aktualisieren

Die Verwendung von JOIN zum Aktualisieren von Datenbanktabellen ist eine leistungsstarke Technik zum Ändern von Daten basierend auf den Beziehungen zwischen mehreren Tabellen. In Microsoft SQL Server kann die UPDATE-Anweisung in Verbindung mit JOIN verwendet werden, um diesen Zweck zu erreichen.

Frage:

Sie müssen ein Feld in der Tabelle „item_master“ mit JOIN-Werten aus drei anderen Tabellen („group_master“, „Manufacturer_Master“ und „item_master“ selbst) aktualisieren.

Lösung:

Schritt 1: JOIN-Abfrage erstellen

<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
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 ruft alle übereinstimmenden Zeilen aus drei Tabellen ab und filtert basierend auf angegebenen Kriterien.

Schritt 2: Felder mit JOIN aktualisieren

Die folgende UPDATE-Anweisung setzt das Feld „mf_item_number“ der Tabelle „item_master“ auf den Wert von „gm.SKU“, indem sie den Tabellenalias (im, gm, mm) in der JOIN-Klausel verwendet:

<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>

Anleitung:

  • Die Zieltabelle für das Update ist „item_master“ (alias „im“).
  • Der zu aktualisierende Wert ist „gm.SKU“ (aus der Tabelle „group_master“).
  • Die JOIN-Klausel stellt sicher, dass die zu aktualisierenden Zeilen die angegebenen Bedingungen erfüllen.
  • Diese Abfrage aktualisiert alle „mf_item_number“-Felder in der Tabelle „item_master“, die die angegebenen Bedingungen erfüllen, unter Verwendung des entsprechenden „SKU“-Werts in der Tabelle „group_master“.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Tabelle in SQL mithilfe verknüpfter Werte aus mehreren Tabellen aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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