2014-06-05 89 views
1

我想,如果別人對這個表寫MySQL查詢,如何編寫MySQL查詢IF ELSEIF ELSE

表名:用戶

user_id | username | password | status 
1 | john | 1 | 1 
2 | jessi | 2 | 0 
3 | mark | 1 | 2 

狀態:1 - 啓用,0 - 禁用,2 - 刪除

我寫SQL來獲得狀態數據:

SELECT username, user_id, IF(STATUS =1, 'Enable', 'Disable') AS user_status 
FROM `users` 

怎麼寫的MySQL是否elseif else語句獲取所有三種狀態

+0

即邏輯被最合適地放置在[A'CASE'] (http://dev.mysql.com/doc/refman/5.0/en/case.html) –

+0

@Michael請問Berkowski如何爲此編寫案例 – user3099298

+0

請參閱下面的答案,例如...'CASE STATUS = 1 THEN'Enable'STATUS = 0 THEN'Disable'WHEN STATUS = 2 THEN'Deleted'ELSE'Unknown狀態'結束' –

回答

3

您可以對此使用CASE語句。像這樣:

SELECT 
    username, 
    user_id, 
    (CASE STATUS 
    WHEN 1 
    THEN 'Enable' 
    WHEN 0 
    THEN 'Disable' 
    WHEN 2 
    THEN 'Deleted' 
    ELSE 'Unknowed' 
    END) AS user_status 
FROM 
    `users` 

參考:

+0

OP有3個狀態_1 - enalbe,0 - disalbe,2 - deleted_ –

+0

哦。對,我將更新答案 – Arion

+1

@MichaelBerkowski:更新答案。隨着案件。感謝您指出這一點 – Arion

1

可以使用嵌套的IFS:

SELECT username, user_id, IF(`status`=1, 'Enable', IF(`status`=2, 'Deleted', 'Disabled')) AS user_status FROM `users`