Cita: Preguntare aqui ya que mi profe dijo que esta consulta no me la aguantaba por tener muchos alias...
Tienes razón... tu profesor está equivocado. La cantidad de alias no tiene nada que ver.
Tu error, se debe a utilizar la función sum dentro de los parametros de entrada de la consulta y requiere diferenciar que monto_fact debe sumar, ya que encuentra varios códigos con salidas diferentes.
prueba esto:
Te recomiendo hacer uso de sentencias join, que aunque generan el mismo resultado, son mejores en rendimiento.
Un saludo.