合并/更新同一表

时间:2015-12-28 19:15:18

标签: sql sql-server sql-update

我有一个表中的两个记录集:

SELECT * FROM userconfig WHERE userid = 'user1'

SELECT * FROM userconfig WHERE userid = 'user2'

我想更新或合并(更容易)从特定用户的记录集到另一个用户的记录集的一列。 IE: user1 有一列configvalue,我希望将其值插入 user2的 configvalue列。我需要两个列具有相同的值。实现这一目标的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

Update 
     user2.userkey = user1.userkey, 
     user2.uservalue = user1.uservalue 
FROM 
     MyTable user2 INNER JOIN MyTable user1 ON user1.YourKey = user2.YourKey

同一个表MyTable(替换为您的表名)。根据YourKey列将此表连接回自身(将YourKey替换为连接匹配的列)。

然后只需将user1的别名值分配给user2。别名和加入同一个表是关键。