开发者社区 问答 正文

此查询有什么问题?我收到一个错误消息,因为“此服务器版本在此位置的选择无效,期望:'(',WITH”

已解决

我的查询

错误:选择在此服务器版本的此位置无效,期望:'(',WITH

set @prev="SAME";
select `date`, `COL1` , `COL2` ,
            if( `COL1`>`COL2` and ( (@prev="SAME") or (@prev="UP") ) ) then
                "DOWN", @prev:="DOWN"
            else if( `COL1` < `COL2` and ( (@prev="SAME") or (@prev="DOWN") ) ) then
                "UP", @prev:="UP"
            else
                "SAME"
            END IF
            as 'sign' 
  from 
      temp;

展开
收起
保持可爱mmm 2019-12-12 15:31:40 685 分享
分享
版权
举报
2 条回答
写回答
取消 提交回答
  • 采纳回答

    您不能IF...THEN在查询中使用。您可以使用IF(condition, truevalue, falsevalue)或CASE WHEN condition THEN value1 WHEN condition2 THEN value2 ELSE something END。

    IF...THEN 是过程语法。

    问题来源于stack overflow

    2019-12-12 15:32:04 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 精于基础,广于工具,熟于业务。

    应该是查询语句有问题,单引号或者括号排查一下是不是中文格式而不是英文格式。

    2019-12-12 15:35:34 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等