我希望与两个列值相比更新表值。
查询
UPDATE acc SET slloc =
(SELECT Location
FROM Duplication$
WHERE Duplication$.GROUP1 = acc.grpcd
AND acc.ccode = Duplication$.div)上面的查询显示错误为
子查询返回的值超过一个。当子查询跟随=、!=、<、<=、>、>=或子查询用作表达式时,这是不允许的。声明已被终止。
如何更改我的查询?
发布于 2012-03-08 10:47:15
只需重写您的更新以使用联接,您就可以随意更新多行.
UPDATE a SET slloc = d.Location
FROM acc a
JOIN Duplication$ d ON d.GROUP1 = a.grpcd
AND d.div = a.ccode 发布于 2012-03-08 10:32:35
此错误消息意味着存在多个Location,其中:
Duplication$.GROUP1 = acc.grpcd AND acc.ccode = Duplication$.div是真的。你需要看看这是什么时候可能的,如果必要的话,重新考虑你的策略。
https://stackoverflow.com/questions/9616177
复制相似问题