Maison >base de données >tutoriel mysql >Comment mettre à jour les colonnes du tableau A en fonction des noms d'utilisateur correspondant dans le tableau B ?
Mise à jour du tableau A en fonction des noms d'utilisateur correspondants dans le tableau B
Ce guide montre comment mettre à jour les colonnes du tableau table_a
à l'aide des données de table_b
, en faisant correspondre les lignes en fonction d'une colonne "nom_utilisateur" commune. L'objectif est de remplir column_a_1
et column_a_2
dans table_a
avec les valeurs de column_b_1
et column_b_2
dans table_b
, respectivement, pour faire correspondre les noms d'utilisateur.
Solution SQL :
L'instruction SQL suivante réalise efficacement cette mise à jour :
<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>
Cette requête utilise des sous-requêtes pour récupérer les valeurs appropriées de table_b
et les applique aux lignes correspondantes dans table_a
. La clause EXISTS
garantit que seules les lignes avec des noms d'utilisateur correspondant dans les deux tables sont mises à jour, évitant ainsi les erreurs si un nom d'utilisateur existe dans table_a
mais pas dans table_b
. L'utilisation d'alias (comme b
pour table_b
) améliore la lisibilité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!