首页 > 解决方案 > 错误:“WHEN”位置或附近的语法错误

问题描述

这个查询有什么问题?

SELECT *,
CASE
WHEN Step=6 THEN "#SQ1_1" END,
WHEN Step= 12 THEN "#SQ1_2"
ELSE Col_A
END AS "Layers"
FROM my_table

标签: sql

解决方案


好像 END,第三行有点过分了。正确的格式化代码有很大帮助。

试试看嘛:

SELECT *
      ,CASE WHEN Step = 6 
              THEN "#SQ1_1"
            WHEN Step = 12 
              THEN "#SQ1_2"
            ELSE Col_A
       END AS "Layers"
  FROM my_table

推荐阅读