首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用两个列值更新表

用两个列值更新表
EN

Stack Overflow用户
提问于 2012-03-08 10:30:34
回答 2查看 92关注 0票数 0

我希望与两个列值相比更新表值。

查询

代码语言:javascript
复制
UPDATE  acc SET slloc =
  (SELECT  Location
    FROM   Duplication$
    WHERE  Duplication$.GROUP1 = acc.grpcd 
         AND acc.ccode = Duplication$.div)

上面的查询显示错误为

子查询返回的值超过一个。当子查询跟随=、!=、<、<=、>、>=或子查询用作表达式时,这是不允许的。声明已被终止。

如何更改我的查询?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-08 10:47:15

只需重写您的更新以使用联接,您就可以随意更新多行.

代码语言:javascript
复制
UPDATE a SET slloc = d.Location
FROM acc a
JOIN Duplication$ d ON d.GROUP1 = a.grpcd 
                AND d.div = a.ccode 
票数 1
EN

Stack Overflow用户

发布于 2012-03-08 10:32:35

此错误消息意味着存在多个Location,其中:

代码语言:javascript
复制
Duplication$.GROUP1 = acc.grpcd AND acc.ccode = Duplication$.div

是真的。你需要看看这是什么时候可能的,如果必要的话,重新考虑你的策略。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9616177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档