Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich Tabellendatensätze basierend auf übereinstimmenden IDs in SQL?
Einführung
Bei der Datenbankverwaltung ist es manchmal notwendig, Daten in einer Tabelle basierend auf übereinstimmenden IDs in einer anderen Tabelle zu aktualisieren. Dies ist besonders nützlich, wenn Sie Daten migrieren oder Informationen zwischen Tabellen synchronisieren.
Problembeschreibung
Angenommen, wir haben eine Datenbank mit zwei Tabellen, Sales_Import
und RetrieveAccountNumber
. Jede Tabelle enthält eine Spalte mit dem Namen LeadID
. Die Sales_Import
-Tabelle verfügt über eine AccountNumber
-Spalte, die mit dem passenden LeadID
-Wert aus der RetrieveAccountNumber
-Tabelle basierend auf dem passenden AccountNumber
-Wert aktualisiert werden muss.
Fehlgeschlagener Versuch
Der erste Versuch, einen Datensatz mit der folgenden Abfrage zu aktualisieren, ist fehlgeschlagen:
<code class="language-sql">UPDATE [Sales_Lead].[dbo].[Sales_Import] SET [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber FROM RetrieveAccountNumber WHERE [Sales_Lead].[dbo].[Sales_Import]. LeadID = RetrieveAccountNumber.LeadID)</code>
Diese Abfrage ersetzt die Kontonummer durch einen NULL-Wert.
Lösung
Die Lösung für dieses Problem liegt in der Verwendung der UPDATE FROM
-Syntax in Kombination mit Join-Operationen. Dieser Ansatz ermöglicht es uns, Datensätze in einer Tabelle basierend auf übereinstimmenden Werten in einer anderen Tabelle zu aktualisieren. Im Folgenden finden Sie SQL-Abfragen für verschiedene Datenbanksysteme:
MySQL und MariaDB
<code class="language-sql">UPDATE Sales_Import SI, RetrieveAccountNumber RAN SET SI.AccountNumber = RAN.AccountNumber WHERE SI.LeadID = RAN.LeadID;</code>
MS SQL
<code class="language-sql">UPDATE Sales_Import SET Sales_Import.AccountNumber = RAN.AccountNumber FROM Sales_Import SI INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID;</code>
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich Tabellendatensätze basierend auf übereinstimmenden IDs in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!