Hola a todos, tengo una tabla de Calificaciones de alumnos(Notas),
quisiera obtener las notas de cada alumno para un determinado curso y
materia, con su respectivo promedio, lo
que no me sale es el promedio correspondiente a cada alumno:
CREATE TABLE [dbo].[Notas] (
[IDAlumno] [int] NOT NULL ,
[IDMateria] [smallint] NOT NULL ,
[IDEtapa] [smallint] NOT NULL ,
[Curso] [char] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Orden] [int] IDENTITY (1, 1) NOT NULL ,
[Nota] [smallint] NOT NULL ,
[FechaExamen] [smalldatetime] NULL
) ON [PRIMARY]
GO
SELECT N.IDAlumno, N.IDMateria, N.IDEtapa, N.Nota,
Promedio = (SELECT ROUND(AVG(CAST(N.Nota as FLOAT)),2)
FROM NOTAS N
WHERE N.CURSO = '1AM' AND N.IDEtapa = 1 AND N.IDMateria = 4)
FROM NOTAS N
WHERE N.CURSO = '1AM' AND N.IDEtapa = 1 AND N.IDMateria = 4
ORDER BY N.IdAlumno, N.IDEtapa
el select devuelve:
IDAlumno IDMateria IDEtapa Nota Promedio
2 4 1 7 6.54
2 4 1 10 6.54
2 4 1 7 6.54
3 4 1 1 0 6.54
3 4 1 5 6.54
3 4 1 6 6.54
No se como calcular la columna Promedio, Me hace falta:
IDAlumno IDMateria IDEtapa Nota Promedio
2 4 1 7 8
2 4 1 10 8
2 4 1 7 8
3 4 1 10 7
3 4 1 5 7
3 4 1 6 7
Saludos y mil gracias.
Leer las respuestas