首页 > 解决方案 > 这个查询有什么问题?我收到一个错误,因为“对于此服务器版本,选择在此位置无效,期待:'(', 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;

标签: mysql

解决方案


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

IF...THEN是过程语法。


推荐阅读