Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/03/2008, 09:59
MarioHeredia
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años
Puntos: 3
Re: Poner una función de grupo en la condición

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.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.