Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich die Spalten von Tabelle A basierend auf übereinstimmenden Benutzernamen in Tabelle B?
Aktualisierung von Tabelle A basierend auf übereinstimmenden Benutzernamen in Tabelle B
Diese Anleitung zeigt, wie Sie Spalten in der Tabelle table_a
mithilfe von Daten aus table_b
aktualisieren und Zeilen basierend auf einer gemeinsamen Spalte „Benutzername“ abgleichen. Das Ziel besteht darin, column_a_1
und column_a_2
in table_a
mit Werten aus column_b_1
bzw. column_b_2
in table_b
zu füllen, um übereinstimmende Benutzernamen zu erhalten.
SQL-Lösung:
Die folgende SQL-Anweisung führt dieses Update effizient durch:
<code class="language-sql">UPDATE table_a SET column_a_1 = (SELECT b.column_b_1 FROM table_b b WHERE b.user_name = table_a.user_name), column_a_2 = (SELECT b.column_b_2 FROM table_b b WHERE b.user_name = table_a.user_name) WHERE EXISTS (SELECT 1 FROM table_b b WHERE b.user_name = table_a.user_name);</code>
Diese Abfrage verwendet Unterabfragen, um die entsprechenden Werte aus table_b
abzurufen und sie auf die entsprechenden Zeilen in table_a
anzuwenden. Die EXISTS
-Klausel stellt sicher, dass nur Zeilen mit übereinstimmenden Benutzernamen in beiden Tabellen aktualisiert werden, wodurch Fehler verhindert werden, wenn ein Benutzername in table_a
, aber nicht in table_b
vorhanden ist. Die Verwendung von Aliasen (wie b
für table_b
) verbessert die Lesbarkeit.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich die Spalten von Tabelle A basierend auf übereinstimmenden Benutzernamen in Tabelle B?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!