MySQL服務器版本5.0.45。考慮以下幾點:在MySQL CASE語句中處理空集
(SELECT CASE
WHEN t.group_id = 12 THEN 'yes'
ELSE 'no'
END
FROM sample_table t
WHERE t.user_id = 2
AND t.group_id = 12) as foo
較大語句的這種子查詢工作方式,我期望,產生一個「是」或「否」的字符串的大部分時間價值。這並不理想,但這就是你在處理別人的代碼時所得到的結果!
但是,有時select可以合法地返回一個空集,在這種情況下,foo被設置爲NULL。這實際上並沒有破壞應用程序,但它令人不快。有沒有一種方法可以保證foo始終是'是'還是'否',即使表中沒有匹配的行?
感謝非常許多! – 2009-08-21 03:09:45