Consulta MySql никакой trae datos

Таблицы 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

my

introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí

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;
1
задан 20.12.2019, 14:03
2 ответа

Доказательство используя subquery для того, чтобы направили проще

SELECT 
  c.nombre, 
  (SELECT COUNT(*) FROM alumnos a WHERE a.cursos_id_curso = c.id_curso) conteo
FROM cursos c
2
ответ дан 21.12.2019, 12:13
  • 1
    спасибо bro, я остаюсь в perfecció n – Nicolas Aldana 20.12.2019, 06:11

я верю, что ты обрезал, упрощать это так:

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 появляются у тебя курсы, хотя у них не было призывников.

0
ответ дан 21.12.2019, 12:13
  • 1
    Из этой формы мне не приносит все курсы так как в моей таблице ученик эти id_curso, что está n с нолем студентами это не ссылка для таблицы курсы, так как не существуют даже, также тысячи спасибо за твой explicació n так я понимаю более, как функционируют join – Nicolas Aldana 20.12.2019, 20:52

Теги

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