SELECT X.NOMBRE_EMPRESA, X.REPRESENTANTE_LEGAL, SUM(Z.TOTAL_ALUMNOS) AS
TOTAL_ALUMNOS_CAP,
SUM(Z.TOTAL_ALUMNOS) * SUM(Z.VALOR_TALLER) AS MONTO_TOTAL_CAPACITACION,
TO_CHAR(AVG(Z.VALOR_TALLER),'FM9999999.90') AS COSTO_PROMEDIO_ALUMNO
FROM EMPRESA X JOIN CONTRATO Z
ON Z.COD_EMPRESA=X.COD_EMPRESA
WHERE TRUNC (FECHA_TER) > TO_DATE ('01/01/2018', 'DD/MM/RR')
GROUP BY X.NOMBRE_EMPRESA, X.REPRESENTANTE_LEGAL
HAVING AVG(Z.VALOR_TALLER)<54000 AND AVG(Z.VALOR_TALLER)>30000
ORDER BY TOTAL_ALUMNOS_CAP ASC;