Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich eine SQL-Tabelle von einer anderen mithilfe einer passenden ID?

Wie aktualisiere ich eine SQL-Tabelle von einer anderen mithilfe einer passenden ID?

Linda Hamilton
Linda HamiltonOriginal
2025-01-23 00:49:08183Durchsuche

How to Update One SQL Table from Another Using a Matching ID?

SQL-Tabellen basierend auf übereinstimmenden IDs aktualisieren

Diese Anleitung zeigt, wie Datensätze in einer SQL-Tabelle (Sales_Import) mithilfe entsprechender Daten aus einer anderen Tabelle (RetrieveAccountNumber) aktualisiert werden, die auf einem gemeinsamen LeadID übereinstimmen. Eine häufige Herausforderung besteht darin, AccountNumber in Sales_Import mit Werten aus RetrieveAccountNumber zu aktualisieren, ohne auf Nullwerte zu stoßen. Die Lösung verwendet eine UPDATE-Anweisung mit einem JOIN.

Effiziente Aktualisierung von Datensätzen mit JOINs

Die UPDATE ... FROM ... JOIN-Syntax ermöglicht effiziente Aktualisierungen durch die Kombination von Daten aus mehreren Tabellen. Diese Methode stellt sicher, dass nur übereinstimmende Datensätze aktualisiert werden.

MS SQL Server:

<code class="language-sql">UPDATE Sales_Import
SET AccountNumber = RAN.AccountNumber
FROM Sales_Import SI
INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID;</code>

MySQL und MariaDB:

<code class="language-sql">UPDATE Sales_Import SI, RetrieveAccountNumber RAN
SET SI.AccountNumber = RAN.AccountNumber
WHERE SI.LeadID = RAN.LeadID;</code>

Erklärung:

  • UPDATE Sales_Import: Dies gibt die Zieltabelle für den Aktualisierungsvorgang an.
  • SET AccountNumber = RAN.AccountNumber: Dadurch wird das AccountNumber aus der Tabelle RetrieveAccountNumber (RAN.AccountNumber) der Spalte AccountNumber in der Tabelle Sales_Import zugewiesen.
  • FROM Sales_Import SI INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID (MS SQL) oder UPDATE Sales_Import SI, RetrieveAccountNumber RAN WHERE SI.LeadID = RAN.LeadID (MySQL/MariaDB): Dies verbindet die beiden Tabellen basierend auf LeadID und stellt sicher, dass nur Zeilen mit Übereinstimmung vorhanden sind IDs werden aktualisiert. Als Übereinstimmungskriterium dient die INNER JOIN (MS SQL) bzw. WHERE-Klausel (MySQL/MariaDB).

Dieser Ansatz geht das Problem von Nullwerten direkt an, indem nur Zeilen aktualisiert werden, in denen in beiden Tabellen ein passender LeadID vorhanden ist. Dies führt zu einem saubereren und effizienteren Aktualisierungsprozess.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine SQL-Tabelle von einer anderen mithilfe einer passenden ID?. 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