2011-09-02 72 views
1

我想要一个条件结果在我的查询中。我有一个名为co1的列。我怎样才能得到SQL中的条件更新

15 when c1 > 50 
2 when c1 > 20 
0 otherwise 

如果我使用

CASE WHEN (co1>50) THEN 15 ELSE 0 END 

但是当我添加第三条MySQL的返回一个错误

CASE WHEN (co1>50) THEN 15 ELSE WHEN (co1>20) THEN 2 ELSE 0 END 

什么是错在第二种情况下?在此先感谢

+0

放下第一个其他人。 – Sathya

回答

6

ELSE应该只在最后一个条款。使用这个:

CASE WHEN (co1>50) THEN 15 WHEN (co1>20) THEN 2 ELSE 0 END 
0

当你说ELSE - 你的意思是这是最后一个条件。所以它应该是

CASE 
    WHEN (co1>50) THEN 15 
    WHEN (co1>20) THEN 2 
    ELSE 0 
END