Задать вопрос

Count в sql запросе не работает,если возвращает пустое значение?

Добрый день. Есть запрос
SELECT
exam.id,
exam.Nazvanie,
COUNT(StudentsEkzamen.IdStudenta) AS countStudents //Количество студентов на этом экзамене
FROM ekzameni
INNER JOIN StudentsEkzamen ON StudentsEkzamen.IdEkzamena=exam.id
group by StudentsEkzamen.IdEkzamena

Запрос работает, если есть хотя бы 1 студент на экзамене. Если же нет- строка не выводится. Как мне в этом случае подставить 0 ?
Спасибо
  • Вопрос задан
  • 691 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@TwoRS Автор вопроса
Решил: тип соединения изменил на LEFT JOIN
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
SELECT
exam.id,
exam.Nazvanie,
COUNT(StudentsEkzamen.IdStudenta) AS countStudents //Количество студентов на этом экзамене
FROM ekzameni
LEFT JOIN StudentsEkzamen ON StudentsEkzamen.IdEkzamena=exam.id
GROUP BY exam.id
Ответ написан
Комментировать
if(!isset($result)){$param = 0;}
Ответ написан
Комментировать
profit
@profit
Разработка | Оптимизация. Telegram: @evzavyalov
БД какая?

В mySQL можно так:
select IF((select null) IS NULL, 0, 1) CNT;
и для сравнения
select IF((select 99) IS NULL, 0, 1) CNT;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы