Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2014, 11:47
DandyCC
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 10 meses
Puntos: 1
Duda con una consulta Mysql

Buenas. Tengo una tabla con alumnos, cursos y asignaturas, así:

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `tbl_alumnos_curso` (
  2.   `alumno` INT(11) NOT NULL,
  3.   `curso` INT(11) NOT NULL,
  4.   `asignatura` VARCHAR(50) COLLATE utf8_spanish_ci NOT NULL,
  5.   PRIMARY KEY (`alumno`,`curso`,`asignatura`),
  6.   KEY `tbl_alumnos_curso_fk_2` (`curso`)
  7. ) 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!