Aktualisieren Sie den Zeilenwert in der Tabelle basierend auf dem passenden Benutzernamen
F: Tabellenwert aktualisieren
In der SQL-Datenbank gibt es zwei Tabellen, table_a und table_b, die beide eine gemeinsame Spalte namens user_name haben. Sie möchten bestimmte Spalten (mit den Namen „Spalte_b_1“ und „Spalte_b_2“) in Tabelle_b in die entsprechenden Spalten (Spalte_a_1 und Spalte_a_2) in Tabelle_a kopieren, basierend auf übereinstimmenden Benutzernamenwerten. Wie kann ich dies mithilfe von SQL-Anweisungen erreichen?
Antwort: Lösung
Wenn die entsprechenden Indizes vorhanden sind, können Sie die folgende UPDATE-Anweisung verwenden:
<code class="language-sql">UPDATE table_a SET column_a_1 = (SELECT table_b.column_b_1 FROM table_b WHERE table_b.user_name = table_a.user_name), column_a_2 = (SELECT table_b.column_b_2 FROM table_b WHERE table_b.user_name = table_a.user_name) WHERE EXISTS ( SELECT * FROM table_b WHERE table_b.user_name = table_a.user_name );</code>
Hinweis: Diese UPDATE-Anweisung verwendet eine Unterabfrage, um die Spaltenwerte aus table_b abzurufen, die jeder Zeile in table_a entsprechen, die einen passenden Benutzernamen hat .
Wenn die Leistung ein Problem darstellt, sollten Sie erwägen, SELECT- und JOIN-Operationen zu verwenden, um eine temporäre Tabelle zum Speichern der geänderten Zeilen zu erstellen. Anschließend können Sie die vorhandenen Daten aus table_a löschen und sie aus der temporären Tabelle neu auffüllen.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich SQL-Tabellenzeilen basierend auf übereinstimmenden Benutzernamen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!