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

Как посчитать для каждой строки таблицы количество вхождений этой строки в другую таблицу?

Есть две таблицы course и history
В таблице course: id и name
В таблице history: id, course_id, status
Нужно для каждой строчки course посчитать количество строк в history
На выходе должно быть
Результат
5eee03f54df62769124518.png

Сейчас имею такой вариант:
SELECT c.`name` AS course_name, COUNT(h.id) AS `quantity`
FROM `course` c
JOIN `history` h ON(h.course_id = c.course_id)
WHERE h.`status` = 1
GROUP BY c.`course_id`
  • Вопрос задан
  • 1847 просмотров
Подписаться Простой Комментировать
Ответ пользователя Владислав К ответам на вопрос (2)
@jakblack377 Автор вопроса
Коль задачей было для каждой записи в таблице Course посчитать количество вхождений в History, причём нули также должны были присутствовать в ответе от базы, то запрос должен выглядеть следующим образом:
select c.`name` AS course_name,  
       (select COUNT(*) from history where history.`course_id` = c.`course_id` AND history.`status` = 1) as quantity
from course c
Ответ написан
Комментировать