Sql 在组合列上使用SELECT更新表
我需要用一个id更新表中的一列,该id是同一表中其他两列的几个字符的组合。目前,正如我所写的,它失败了,因为它不允许在子查询中返回多个值。我怎样才能让它工作 这是我的Sql 在组合列上使用SELECT更新表,sql,tsql,sql-server-2012,Sql,Tsql,Sql Server 2012,我需要用一个id更新表中的一列,该id是同一表中其他两列的几个字符的组合。目前,正如我所写的,它失败了,因为它不允许在子查询中返回多个值。我怎样才能让它工作 这是我的 UPDATE Users SET AccountId = ( SELECT RIGHT(lastName, 5) + RIGHT(UserId, 6) FROM Users ) 我试图以这样的方式结束: AccountID
UPDATE Users
SET AccountId = (
SELECT RIGHT(lastName, 5) + RIGHT(UserId, 6)
FROM Users
)
我试图以这样的方式结束:
AccountID
lliams994521
ohnson103297
..如果
更新
基于相同记录的字段,则无需执行选择
:
如果
更新
基于相同记录的字段,则无需执行选择
:
你可以这样做:
UPDATE Users
SET AccoundId = (SELECT RIGHT(lastName, 5) + RIGHT(UserId, 6) FROM users AS SubUsers WHERE SubUsers.UserId = MainUsers.UserId)
FROM Users MainUsers
在你的情况下,这没有任何意义。正如@GiorgosBetsos提到的
如果
更新
基于
相同记录
你可以这样做:
UPDATE Users
SET AccoundId = (SELECT RIGHT(lastName, 5) + RIGHT(UserId, 6) FROM users AS SubUsers WHERE SubUsers.UserId = MainUsers.UserId)
FROM Users MainUsers
在你的情况下,这没有任何意义。正如@GiorgosBetsos提到的
如果
更新
基于
相同记录
哇,这很简单。谢谢哇,这很简单。谢谢