根据表 B 中匹配的用户名更新表 A
本指南演示如何使用 table_a
中的数据更新表 table_b
中的列,并根据常见的“user_name”列匹配行。 目标是分别使用 column_a_1
中 column_a_2
和 table_a
的值填充 column_b_1
中的 column_b_2
和 table_b
,以匹配用户名。
SQL 解决方案:
以下 SQL 语句有效地实现了此更新:
<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>
此查询使用子查询从 table_b
中获取适当的值,并将它们应用到 table_a
中的相应行。 EXISTS
子句确保仅更新两个表中具有匹配用户名的行,从而防止在 table_a
中存在用户名但 table_b
中不存在用户名时出现错误。 使用别名(例如 b
代表 table_b
)可以提高可读性。
以上是如何根据表 B 中匹配的用户名更新表 A 列?的详细内容。更多信息请关注PHP中文网其他相关文章!