Sql 合并/更新同一表中的记录

Sql 合并/更新同一表中的记录,sql,sql-server,sql-update,Sql,Sql Server,Sql Update,我在一个表中有两个记录集: SELECT * FROM userconfig WHERE userid = 'user1' 及 我想从一个特定用户的记录集中更新或合并一列到另一个用户的记录集中。IE:user1有一列configvalue,我想将其值插入user2的configvalue列中。我需要两列具有相同的值。最简单的方法是什么 Update user2.userkey = user1.userkey, user2.uservalue = user1.userva

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

SELECT * FROM userconfig WHERE userid = 'user1'

我想从一个特定用户的记录集中更新或合并一列到另一个用户的记录集中。IE:user1有一列
configvalue
,我想将其值插入user2的
configvalue
列中。我需要两列具有相同的值。最简单的方法是什么

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。别名和连接回同一个表是关键。

一些示例数据将有助于您的原因。同时发布您的尝试记录集是什么意思?您是说您有两个提供输出的
select
语句吗?您正在查看结果吗?您想要两个相同的记录集吗?
从userconfig中选择configkey,其中userid='user1'
从userconfig中选择configkey,其中userid='user2'
configvalue
列中具有不同的值。我需要他们配合。为什么要投否决票?很不清楚。是要更改表中的数据,还是合并两次选择的结果?
Update 
     user2.userkey = user1.userkey, 
     user2.uservalue = user1.uservalue 
FROM 
     MyTable user2 INNER JOIN MyTable user1 ON user1.YourKey = user2.YourKey