【发布时间】:2014-11-06 12:01:35
【问题描述】:
我需要将一个表(table1)中的数据添加到另一个表(table2)中,其中全名列中的数据在两个表中都匹配。下面的代码几乎可以满足我的要求,只是它删除了 table1 标题列中的所有其他数据。
UPDATE table1
SET title = (SELECT title
FROM table2
WHERE table2.fullname = table1.fullname)
我的目标是更新 table1 的标题列,使其既包含原来的数据,又包含 table2 的标题列中的数据,而不会在运行 SQL 查询之前删除 table1 的标题列中的数据。
【问题讨论】:
-
如果
table2中有两条或多条记录具有相同的fullname怎么办? -
你标记了所有你使用的 dbms,oracle 或 sql server
-
你的意思是要连接两个字段吗?
-
google“更新加入”为您的 dbms
-
@ekad,这是个好问题。它确实使事情复杂化。有一些方法可以绕过它,其中最简单的方法是在子查询中使用聚合函数,例如
MAX()。