首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >子查询返回的值超过一个。如能解释,将不胜感激。

子查询返回的值超过一个。如能解释,将不胜感激。
EN

Stack Overflow用户
提问于 2020-06-08 07:30:59
回答 2查看 69关注 0票数 0

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

我知道你们中的大多数人可能已经看到这个错误一百次了,一个简短的回答就是将操作符=in改为in,但是,这似乎不适用于我。

代码语言:javascript
运行
复制
UPDATE _RS
SET _RS.GroupID = (SELECT ID FROM _RefSkillGroup WHERE Code like '%SKILL_GODBLESS_%')
FROM _RefSkill _RS
JOIN _RefSkillGroup _RSG 
ON _RS.GroupID=_RSG.ID
WHERE _RS.ID BETWEEN 33816 AND 33824
代码语言:javascript
运行
复制
UPDATE _RefSkill 
SET GroupID = (SELECT ID FROM _RefSkillGroup WHERE Code LIKE '%SKILL_GODBLESS_%')
WHERE ID BETWEEN 33816 AND 33824

这是在_RefSkill中的:

代码语言:javascript
运行
复制
Service ID GroupID Basic_Code 
1 33816 1027 SKILL_GODBLESS_FIRE
1 33817 1028 SKILL_GODBLESS_RED
1 33818 1029 SKILL_GODBLESS_BLUE
1 33819 1030 SKILL_GODBLESS_WHIT

这是在_RefSkillGroup中

代码语言:javascript
运行
复制
ID Code
1038 SKILL_GODBLESS_FIRE
1039 SKILL_GODBLESS_RED
1040 SKILL_GODBLESS_BLUE
1041 SKILL_GODBLESS_WHIT
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-08 08:49:40

谢谢你澄清你的要求。

查询如下:

代码语言:javascript
运行
复制
UPDATE _RS
-- "update the column GroupID in _RefSkill with the value of ID"
SET _RS.GroupID = _RSG.ID
FROM _RefSkill _RS
    -- You join on a table where you want to look up a value.
    -- "given that the Basic_Code in _RefSkill is the same as Code in _RefSkillGroup"
    JOIN _RefSkillGroup _RSG ON _RS.Basic_Code =_RSG.Code
WHERE _RS.ID BETWEEN 33816 AND 33824

其他注释:我建议您不要在表/列名前加上下划线。

更新:

SO question处理各种更新连接格式。

票数 0
EN

Stack Overflow用户

发布于 2020-06-08 12:00:38

您的代码可以使用关联子句而不是join

代码语言:javascript
运行
复制
UPDATE RS
    SET GroupID = (SELECT rsg.ID
                   FROM _RefSkillGroup rsg
                    WHERE rsg.Code LIKE '%SKILL_GODBLESS_%' AND
                          rs.GroupID = rsg.ID
                  )
    FROM _RefSkill RS
    WHERE RS.ID BETWEEN 33816 AND 33824;

这假设子查询确实只为RS中的每一行返回一行。如果不是,您需要找出这些行中的哪一行。

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

https://stackoverflow.com/questions/62257081

复制
相关文章

相似问题

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