SELECT
CONCAT(est.nombres, " ", est.apellidos) AS `Estudiante`,
g.nombre,
m.nombre,
e.trabajos,
a.asistencia,
100 + e.trabajos + a.asistencia AS total
FROM Estudiantes AS est
INNER JOIN Grupos AS g ON g.id_grupo = est.grupo_id
INNER JOIN Asignaciones AS asi ON asi.grupo_id = est.grupo_id
INNER JOIN Materias AS m ON m.id_materia = asi.materia_id
INNER JOIN ( SELECT estudiante_id, SUM(puntos) AS trabajos
FROM Evaluaciones
INNER JOIN Trabajos ON Trabajos.id_trabajo = Evaluaciones.trabajo_id
WHERE Evaluaciones.justificado = 0
AND Trabajos.asignacion_id = 1
GROUP BY
estudiante_id ) AS e ON e.estudiante_id = est.id_estudiante
INNER JOIN ( SELECT estudiante_id, SUM(puntos) AS asistencia
FROM Registros
INNER JOIN Listados ON Listados.id_listado = Registros.listado_id
WHERE Registros.justificado = 0
AND Listados.asignacion_id = 1
GROUP BY
estudiante_id ) AS a ON a.estudiante_id = est.id_estudiante
WHERE asi.id_asignacion = 1
ORDER BY total DESC;