У меня есть 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);
Он отлично работает. Но можно ли написать попроще или это лучшее решение? Следует ли мне создавать какие-либо индексы?