我想在查询中输入条件结果。我有一个名为co1的列。我怎么才能得到
15 when c1 > 50
2 when c1 > 20
0 otherwise
如果我使用
CASE WHEN (co1>50) THEN 15 ELSE 0 END
但是当我添加第3个子句时,MySQL会返回错误
CASE WHEN (co1>50) THEN 15 ELSE WHEN (co1>20) THEN 2 ELSE 0 END
第二种情况有什么问题?提前致谢
答案 0 :(得分:6)
ELSE
应该只在最后一个条款中。使用此:
CASE WHEN (co1>50) THEN 15 WHEN (co1>20) THEN 2 ELSE 0 END
答案 1 :(得分:0)
当你说ELSE
时 - 你的意思是这是最后一个条件。所以它应该是
CASE
WHEN (co1>50) THEN 15
WHEN (co1>20) THEN 2
ELSE 0
END