Hola ProgramadorNet, como te ha ido con el reporte que posteaste la semana pasada?
Con respecto a lo que necesitas, te recomiendo lo siguiente.
Código:
-- POR FECHA
SELECT FECHA,
EMPLEADO,
SUELDO
MAX(SUELDO) OVER(PARTITION BY FECHA, EMPLEADO) MAX_SUELDO
FROM SUELDOS
WHERE FECHA BETWEEN TO_DATE('&FECHA_DESDE','DD.MM.YYYY') AND TO_DATE('&FECHA_HASTA','DD.MM.YYYY');
-- POR DEPARTAMENTO
SELECT DEPARTAMENTO,
EMPLEADO,
SUELDO
MAX(SUELDO) OVER(PARTITION BY DEPARAMENTO, EMPLEADO) MAX_SUELDO
FROM SUELDOS;
-- SIN FECHA NI DEPARTAMENTO
SELECT EMPLEADO,
SUELDO
MAX(SUELDO) OVER(PARTITION BY EMPLEADO) MAX_SUELDO
FROM SUELDOS;
Asi podras tener tu maximo sueldo por fecha, por departamento o por lo que quieras como una columna extra.
Solo se encuentran disponibles estas funciones de windowing desde los ultimos release de 8i en adelante.
Saludos, Mario.