我的目的是从一个表中获取数据并在另一个表中对其进行更新。我正在进行显式联接并在下面运行查询。
UPDATE [Users] set
name = (
SELECT concat(Column1,' ',Column2)
from [Table2]
inner join [Users] on Name = Column3
where Name like 'ABC'
)
运行上述查询时出现以下错误:
Msg 512,第16级,状态1,第45行
子查询返回的值超过1。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。
请注意Column1,Column2,Column3对于表2而言是唯一的,因此我没有添加限定符。
答案 0 :(得分:1)
您可以尝试使用UPDATE... JOIN
UPDATE t1 set
name = concat(Column1,' ',Column2)
FROM [Users] t1 JOIN [Table2] on Name = Column3
where Name like 'ABC'