我需要使用id来更新我的表中的列,该id是同一个表中另外两列的几个字符的组合。目前我编写它失败了,因为它不允许在子查询中返回多个值。我怎样才能让它发挥作用?
这就是我所拥有的。
UPDATE Users
SET AccountId = (
SELECT RIGHT(lastName, 5) + RIGHT(UserId, 6)
FROM Users
)
我正试图结束这样的事情:
AccountID
lliams994521
ohnson103297
...
答案 0 :(得分:4)
如果SELECT
基于相同记录的字段,则您不需要UPDATE
:
UPDATE Users
SET AccountId = RIGHT(lastName, 5) + RIGHT(UserId, 6)
答案 1 :(得分:0)
你可以这样做:
UPDATE Users
SET AccoundId = (SELECT RIGHT(lastName, 5) + RIGHT(UserId, 6) FROM users AS SubUsers WHERE SubUsers.UserId = MainUsers.UserId)
FROM Users MainUsers
在你的情况下,这没有任何意义。正如@GiorgosBetsos所提到的
如果
SELECT
基于的字段,则无需执行UPDATE
相同记录