2014-03-27 79 views
0

我想創建一個存儲過程,它必須檢查區域列,並根據該選擇/輸出一個字符串。如何檢查結果的條件

有5個事件(區域):1-5。 我使用1 IN參數,從我的PHP:

select zone 
from customer 
where customerId = in_customerId; 

但是從這裏被我退回5個事件之一? 我很確定我必須使用if條件,但是如何?

1 should be equal to monday 
2 should be equal to tuesday 
3 should be equal to wednesday 
4 should be equal to thursday 
5 should be equal to friday 
+0

MySQL支持的if/then條件。 http://dev.mysql.com/doc/refman/5.5/en/if.html –

+1

你在哪裏使用'IN()'參數? – BenM

+0

in_customerId是我的參數嗎? –

回答

2

你可以做一個case返回不同的結果。喜歡的東西:

SELECT 
    CASE zone 
     WHEN 1 THEN 'monday' 
     WHEN 2 THEN 'tuesday' 
     WHEN 3 THEN 'wednesday' 
     WHEN 4 THEN 'thursday' 
     WHEN 5 THEN 'friday' 
     ELSE 'unknown' 
    END 
FROM customer 
WHERE customerId = in_customerId; 

更多信息,請參見MySQL documentation

+0

感謝您輸入DHS - 我得到一個語法錯誤? –