首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL错误:使用near '‘的语法正确

MySQL错误:使用near '‘的语法正确
EN

Stack Overflow用户
提问于 2015-03-26 04:04:29
回答 2查看 950关注 0票数 1

我有这个查询:

代码语言:javascript
复制
 SELECT owner,
    CASE WHEN id IN (1,2,4) THEN 25
    ELSE 
    CASE WHEN owner = 25 THEN NULL 
    END as owner
    FROM board2

并得到这个错误:

代码语言:javascript
复制
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as owner

    FROM board2' at line 9

我的错误是什么?

示例:

id -所有者-结果所有者

2-4-7 (id已选定且所有者已更改

3-7-7 (id已选定且所有者已更改

4-7- NULL (未选择id,所有者与新所有者相同,因此将所有者设置为NULL

5-4-4(未选择id,所有者不是新所有者,无更改

X= (2,3) (必须更改的ids )

Y=7(新所有者)

EN

回答 2

Stack Overflow用户

发布于 2015-03-26 04:36:14

不确定这是您想要的逻辑(您有2个案例,而不是1个具有不同备选方案的案例):SELECT owner,CASE WHEN id IN (1,2,4)然后25 ELSE END CASE WHEN owner=25 THEN NULL ELSE END FROM board2

如果不是,那么在第二种情况下,你不能使用WHEN,可能需要使用IF,ELSEIF,ELSE,END IF。

票数 0
EN

Stack Overflow用户

发布于 2015-03-26 04:40:50

您在case-when中有语法问题,此外,您选择owner 2次也是错误的

它应该是这样的

代码语言:javascript
复制
SELECT owner,
CASE 
WHEN id IN (1,2,4) THEN 25
WHEN owner = 25 THEN NULL 
else 'ABC' ---- better to provide else other wise non-matching data will be selected as null, give something as you want
END as `some_other_col_name` --- a different col name since owner is already selected on the top
FROM board2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29265472

复制
相关文章

相似问题

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