我想比较两个列值来更新表值。
查询
UPDATE acc SET slloc =
(SELECT Location
FROM Duplication$
WHERE Duplication$.GROUP1 = acc.grpcd
AND acc.ccode = Duplication$.div)
上述查询显示错误为
子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。 声明已经终止。
如何更改查询
答案 0 :(得分:1)
只需重写您的UPDATE即可使用JOIN,您可以根据需要更新任意数量的行...
UPDATE a SET slloc = d.Location
FROM acc a
JOIN Duplication$ d ON d.GROUP1 = a.grpcd
AND d.div = a.ccode
答案 1 :(得分:0)
此错误消息表示有多个Location
,其中:
Duplication$.GROUP1 = acc.grpcd AND acc.ccode = Duplication$.div
是真的。您需要了解何时可能,并在必要时重新考虑您的策略。