ves paso a paso...
- haz la consulta sin los subquery y sin el join... solo con los ID y nombre de estudiante...
- haz el group by sobre el ID y nombre y mira los resultados
- agrega el join y haz la sumatoria... entonces mira los resultados (es posible que aqui puedan variar)
- agrega las sentencias del where
- agrega los subquery
estos pasos te los propongo para que puedas ir viendo poco a poco donde se agragan todos los registros innecesarios.
-- Buena caza y buen remar