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;