06/05/2018, 17:14
|
| | | Fecha de Ingreso: diciembre-2014 Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 11 meses Puntos: 11 | |
Respuesta: CONSULTA MySQL: CUAL ES EL ALUMNO MAS JOVEn ? Cita:
Iniciado por leonardo_josue Hola Julia2021:
La consulta que planteas tiene un problema al utilizar la sentencia IN cuando hay un alumno con una fecha de nacimiento igual al Mínimo de otra aula, me explico, supongamos que tienes estos datos:
Código MySQL:
Ver original+-----------+------------------+-------------------+---------------------+ | id_alumno | id_aula_de_clase | nombre_del_alumno | fecha_de_nacimiento | +-----------+------------------+-------------------+---------------------+ | 1 | 1 | hugo | 2000-01-01 00:00:00 | | 2 | 1 | paco | 2000-01-02 00:00:00 | | 3 | 1 | luis | 2000-01-04 00:00:00 | | 4 | 2 | pepe | 2000-01-04 00:00:00 | | 5 | 2 | leo | 2000-01-05 00:00:00 | | 6 | 2 | chuy | 2000-01-06 00:00:00 | +-----------+------------------+-------------------+---------------------+ +------------------+-----------------+ | id_aula_de_clase | Nombre_del_aula | +------------------+-----------------+ | 1 | aula uno | | 2 | aula dos | +------------------+-----------------+
Entonces, con la consulta que planteas tienes esto:
Código MySQL:
Ver original -> aula_de_clase.id_aula_de_clase, -> aula_de_clase.Nombre_del_aula AS AULA , -> alumnos.nombre_del_alumno AS 'NOMBRE DEL ALUMNO' -> ON aula_de_clase.id_aula_de_clase = alumnos.id_aula_de_clase -> ORDER BY aula_de_clase.Nombre_del_aula ; +------------------+----------+-------------------+ | id_aula_de_clase | AULA | NOMBRE DEL ALUMNO | +------------------+----------+-------------------+ | 2 | aula dos | pepe | | 1 | aula uno | hugo | | 1 | aula uno | luis | +------------------+----------+-------------------+
Para el aula UNO aparecen dos alumnos, HUGO Y LUIS, aunque el menor sería HUGO, esto es porque LUIS tiene la misma fecha de nacimiento que PEPE, que es el menor del aula DOS.
Entonces, lo que tienes que hacer es algo así:
Código MySQL:
Ver original -> aula_de_clase.id_aula_de_clase, -> aula_de_clase.Nombre_del_aula AS AULA , -> alumnos.nombre_del_alumno AS 'NOMBRE DEL ALUMNO' -> ON alumnos.id_aula_de_clase = Aula_de_clase.id_aula_de_clase -> id_aula_de_clase, -> MIN(fecha_de_nacimiento ) min_fecha -> ON T.id_aula_de_clase = alumnos.id_aula_de_clase -> AND T.min_fecha = alumnos.fecha_de_nacimiento ; +------------------+----------+-------------------+ | id_aula_de_clase | AULA | NOMBRE DEL ALUMNO | +------------------+----------+-------------------+ | 1 | aula uno | hugo | | 2 | aula dos | pepe | +------------------+----------+-------------------+
Haz la prueba y nos comentas.
Saludos
Leo. Tienes razón amiguito @leonardo_josue , lo he probado y es cierto. Gracias por la corrección |