Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich die Spalten von Tabelle A basierend auf übereinstimmenden Benutzernamen in Tabelle B?

Wie aktualisiere ich die Spalten von Tabelle A basierend auf übereinstimmenden Benutzernamen in Tabelle B?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-15 07:40:46934Durchsuche

How to Update Table A Columns Based on Matching Usernames in Table 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!

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