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:
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 | ReprobaronVer original
ALTER PROCEDURE [dbo].[listarExamenesProfesor] @Id_Profesor INT AS SELECT cu.Nombre AS CURSOS,ex.Nombre AS EXAMEN,ex.FecHora AS FECHA_Y_HORA, COUNT(r.AlumnoId) AS RINDIERON, (SELECT COUNT(r2.AlumnoId) FROM RESULTADO r2 WHERE r2.Nota >= 7)AS APROBARON, (SELECT COUNT(r2.AlumnoId) FROM RESULTADO r2 WHERE r2.Nota < 7) AS REPROBARON FROM CURSO cu LEFT JOIN EXAMEN ex ON cu.IdCurso=ex.CursoId LEFT JOIN RESULTADO r ON ex.IdExamen=r.ExamenId LEFT JOIN Curso_Alumno cal ON cu.IdCurso=cal.IDCURSO WHERE cu.ProfId=@Id_Profesor GROUP BY cu.IdCurso,cu.Nombre,cu.Estado,cu.FecIni,cu.FecFin,cu.ProfId, ex.IdExamen,ex.Nombre,ex.Descripcion,ex.FecHora,ex.Duracion,ex.CursoId GO
2 | 1 | 1