Serwer MySQL wersja 5.0.45. Rozważmy następujący:Obsługa pustego zestawu w instrukcji CASE MySQL
(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
To podzapytanie większego rachunku działa jak będę oczekiwać, otrzymując „tak” lub „nie” wartość ciągu większość czasu. To nie jest idealne, ale to właśnie dostajesz za pracę nad czyimś kodem!
Jednak czasami opcja select może legalnie zwrócić pusty zestaw, w którym to przypadku foo ma wartość NULL. To faktycznie nie łamie aplikacji, ale jest irytujące. Czy jest sposób, w jaki mogę zagwarantować, że foo zawsze będzie "tak" lub "nie", nawet jeśli nie ma pasujących wierszy w tabeli?
Dzięki bardzo dużo! –