Получите значение 0 из счетчика без строк

У меня есть SELECT:

SELECT c FROM (
    SELECT "candidate_id" as id, count("candidate_id") as c
    FROM "Applicaions"
    GROUP BY "candidate_id"
) as s WHERE id= _SOME_ID_;

Но это возвращает только значение, если count> 0 . Если count = 0 , он ничего не возвращает. Как я могу получить 0 для «Кандидата», у которого нет приложения?

Есть таблица «Кандидаты».
Мне нужно получить 0, если у кандидата нет приложений или он не существует.

РЕДАКТИРОВАТЬ

Теперь у меня:

SELECT COALESCE ((SELECT count("candidate_id") as c
FROM "Applicaions" WHERE "candidate_id"=_SOME_ID_
GROUP BY "candidate_id"), 0);

Он отлично работает. Но можно ли написать попроще или это лучшее решение? Следует ли мне создавать какие-либо индексы?

20
задан Erwin Brandstetter 11 December 2012 в 23:49
поделиться