Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2013, 16:18
JulEva
 
Fecha de Ingreso: septiembre-2011
Ubicación: Buenos Airesa
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Problema con Join en Procedimiento

Hola, espero que me ayuden.. mi problema es el siguiente:
Tengo que hacer un procedimiento que devuelva NombreCurso,NombreExamen,Fecha,AlumnosEnCurso,Rind ieronExamen,Aprobaron,Reprobaron,FaltanRendir

Mi código es el siguiente:
Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[listarExamenesProfesor]
  2. @Id_Profesor INT
  3. AS
  4. SELECT cu.Nombre AS CURSOS,ex.Nombre AS EXAMEN,ex.FecHora AS FECHA_Y_HORA,
  5. COUNT(r.AlumnoId) AS RINDIERON,
  6. (SELECT COUNT(r2.AlumnoId) FROM RESULTADO r2 WHERE r2.Nota >= 7)AS APROBARON,
  7. (SELECT COUNT(r2.AlumnoId) FROM RESULTADO r2 WHERE r2.Nota < 7) AS REPROBARON
  8. FROM CURSO cu LEFT JOIN EXAMEN ex ON cu.IdCurso=ex.CursoId LEFT JOIN RESULTADO r ON ex.IdExamen=r.ExamenId
  9. LEFT JOIN Curso_Alumno cal ON cu.IdCurso=cal.IDCURSO
  10. WHERE cu.ProfId=@Id_Profesor
  11. GROUP BY cu.IdCurso,cu.Nombre,cu.Estado,cu.FecIni,cu.FecFin,cu.ProfId,
  12. ex.IdExamen,ex.Nombre,ex.Descripcion,ex.FecHora,ex.Duracion,ex.CursoId
  13.  
  14. GO
El error es que me devuelve el mismo valor en las columnas Aprobaron,Reprobaron cuando en realidad tendría que devolver (por ejemplo: Resultado.Nota =7 y Resultado.Nota =4) Rindieron | Aprobaron | Reprobaron
2 | 1 | 1

Última edición por gnzsoloyo; 07/11/2013 a las 17:15