Hola grupo, tengo el siguiente sp en el cual saco los promedios de las
etapas 1 y 2:
SELECT M.Nombre AS Materia, N.IDEtapa,
CASE WHEN N.IDEtapa = 1 or N.IDEtapa= 2 THEN ROUND(AVG(N.Nota+.0),2) ELSE 0
END AS Promedio
FROM NOTAS N
INNER JOIN Materias M ON N.IDMateria = M.IDMateria
WHERE N.IDAlumno = @IdAlumno AND (N.IDEtapa = 1 or N.IDEtapa = 2)
AND DATEPART(yyyy, N.FechaExamen) = DATEPART(yyyy, GETDATE())
GROUP BY M.Nombre, N.IDEtapa
ORDER BY M.Nombre, N.IDEtapa
Devuelve:
Materia IdEtapa Promedio
BIOLOGÍA I 1 6.33
BIOLOGÍA I 2 7.50
HISTORIA I 1 6.00
HISTORIA I 2 4.33
DIBUJO I 1 7.00
EDUCACIÓN FÍSICA I 1 7.50
Y yo quiero que devuelva lo mismo pero con un promedio FINAL ( o sea por ej
para Biologia (6.33+7.50)/2=6.92 )
Materia IdEtapa Promedio PromedioFINAL
BIOLOGÍA I 1 6.33 6.92
BIOLOGÍA I 2 7.50 6.92
HISTORIA I 1 6.00 5.16
HISTORIA I 2 4.33 5.16
DIBUJO I 1 7.00 7.00
EDUCACIÓN FÍSICA I 1 7.50 7.50
Como puedo hacer esto, ademas tengo que tener en cuenta que puede haber
promedio para una sola etapa.
Saludos y gracias
Las tablas son:
NOTAS MATERIAS
-
IdAlumno IdMateria
IdMateria Nombre
IdEtapa
Curso
Orden
Nota
FechaExamen
Leer las respuestas