Таблицы DOS довода "против" Estoy trabajando en un proyecto, cursos y alumnos, quiero traer el numero de alumnos inscritos por curso en una nueva columna de la consulta y cuando никакой тенге alumnos inscritos el curso меня muestre 0, pero cuando hago la consulta los cursos que no tienen alumnos se llena подставляет el общее количество de alumnos
introducir el código aquí
SELECT c.nombre,ifnull(COUNT(a.documento),0)AS conteo
FROM cursos c,alumnos a
WHERE a.cursos_id_curso=c.id_curso or c.id_curso NOT IN (
SELECT DISTINCT a.cursos_id_curso ifnull
FROM alumnos a
)
GROUP BY c.nombre;
Доказательство используя subquery для того, чтобы направили проще
SELECT
c.nombre,
(SELECT COUNT(*) FROM alumnos a WHERE a.cursos_id_curso = c.id_curso) conteo
FROM cursos c
я верю, что ты обрезал, упрощать это так:
select c.nombre, count(*) as conteo
from cursos c
left join alumnos a on c. id_curso=a.cursos_id_curso group by c.nombre
Используя left join появляются у тебя курсы, хотя у них не было призывников.