Buenas. Tengo una tabla con alumnos, cursos y asignaturas, así:
Código SQL:
Ver originalCREATE TABLE IF NOT EXISTS `tbl_alumnos_curso` (
`alumno` INT(11) NOT NULL,
`curso` INT(11) NOT NULL,
`asignatura` VARCHAR(50) COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`alumno`,`curso`,`asignatura`),
KEY `tbl_alumnos_curso_fk_2` (`curso`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
Necesito obtener todos los alumnos y el curso al que pertenecen que sólo tengan una asignatura específica. Por ejemplo, la consulta debe devolver al alumno 1 que pertenece al curso 1 y sólo tiene la asignatura "Historia", pero no debe devolver al alumno 2, que pertenece al curso 1 y tiene "Historia" y además "Matemáticas". No sé si me explico.
Podría hacerlo a lo bruto, con un count(*) por cada alumno, pero seguro que debe haber alguna forma más simple que no me obligue a realizar una consulta por cada alumno registrado en la tabla.
Muchas gracias de antemano!