Sql server 基于另一列更新一列中的值
我想用BAUSER表中的值更新临时表@Users中的USER_FNM 表@用户: 我已经尝试过的是:Sql server 基于另一列更新一列中的值,sql-server,tsql,Sql Server,Tsql,我想用BAUSER表中的值更新临时表@Users中的USER_FNM 表@用户: 我已经尝试过的是: update @USERS set USER_FNM = (select top(1) user_fnm from bauser where bauser.user_key = USER_KEY) 但这总是从BAUSER表返回第一个值。如何迭代@Users的每一行并更改USER\u FNM?SQL Server支持update语句中的联接。 假设用户密钥在bauser表中是唯一的,您可以简单
update @USERS
set USER_FNM = (select top(1) user_fnm from bauser where bauser.user_key = USER_KEY)
但这总是从BAUSER表返回第一个值。如何迭代@Users的每一行并更改USER\u FNM?SQL Server支持update语句中的联接。 假设用户密钥在bauser表中是唯一的,您可以简单地执行以下操作:
UPDATE t
SET USER_FNM = bauser.user_fnm
FROM @Users t
INNER JOIN bauser ON bauser.user_key = t.USER_KEY
UPDATE语句的上有多个示例。为什么要进行向下投票?因为简单的Google搜索“来自另一个表的sql UPDATE”会产生您可以使用的各种源。可能是重复的
UPDATE t
SET USER_FNM = bauser.user_fnm
FROM @Users t
INNER JOIN bauser ON bauser.user_key = t.USER_KEY