Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/05/2009, 11:52
Avatar de alguienmas
alguienmas
 
Fecha de Ingreso: mayo-2009
Mensajes: 62
Antigüedad: 14 años, 11 meses
Puntos: 8
Respuesta: Recuperar lista con campo que sea un SELECT de otra tabla

Cita:
Iniciado por Seixas Ver Mensaje
Las tablas que tengo son:

Alumnos (nif, nombre)
Pruebas (id, asignatura)
Examenes (alumno, prueba, evaluado, nota) donde alumno y prueba son claves foráneas

SELECT Al.*, (SELECT COUNT(prueba) FROM Examenes WHERE evaluado = FALSE AND alumno = Al.nif) AS pendientes FROM Alumnos Al;
yo lo hari asi:

SELECT a.nif, a.nombre, count(e.prueba) as pendiente FROM (alumnos as a JOIN examenes as e ON a.nif = e.alumno) WHERE e.evaluado=false;

o asi que es lo mismo:

SELECT a.nif, a.nombre, count(e.prueba) as pendiente FROM alumnos as a, examenes as e WHERE e.evaluado=false AND e.alumno = a.nif;

Espero esten buenas las consultas, pues las hice al vuelo, pero como informacion te dejo estos enlaces de como funcionan los JOIN:

es_wikipedia_org/wiki/Join
dev_mysql_com/doc/refman/5.0/es/join.html

(cambia los _ por . ya que aun no me deja poner enlaces en el foro)

Saludos