Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/10/2014, 13:58
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como hacer union entre dos SELECT de la misma tabla

Yo lo haría al revés. Buscaría los que han aprobado algún examen y luego mediante LEFT JOIN, SELECT ... NOT IN o NOT EXISTS... sacaría los otros, los que no están en ese conjunto. Imagino que cuentas con una tabla alumnos. Entiendo que solo hay un examen por asignatura.
Código MySQL:
Ver original
  1. SELECT a.id_alumno FROM alumnos a LEFT JOIN (SELECT id_alumno FROM examenes WHERE nota > 4.99)t1 ON .id_alumno = t1.id_alumno WHERE t1.idalumno IS NULL

Con esa o con alguna otra menos eficiente, como esta otra, también obtendrías aquellos que no han aprobado ninguna asignatura.
Código MySQL:
Ver original
  1. SELECT a.id_alumno FROM alumnos a WHERE a.id_alumno NOT IN (SELECT id_alumno FROM examenes WHERE nota > 4.99)

y también puede hacerse con NOT EXISTS. Mira ejs. aquí:
http://stackoverflow.com/questions/9...ere-not-exists

No basta con que te lo digamos. Debes comprobarlo con datos.

Luego tendrías que traerte, claro, la provincia de cada uno de esos alumnos.

Última edición por jurena; 31/10/2014 a las 01:07