2011-09-02 56 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