Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2016, 11:28
Avatar de Doglas
Doglas
 
Fecha de Ingreso: mayo-2015
Mensajes: 22
Antigüedad: 9 años, 7 meses
Puntos: 0
Como seleccionar el primer registro

Hola, necesito su ayuda. Estoy haciendo un reporte que debería mostrar solo el primer registro por código, que es la primera vez que salio de vacaciones; como tendría que modificar el query al que he llegado? Gracias por su ayuda.

Cita:
C_C_EMPRESA, C_C_AUXILIAR, C_C_CODIGO, C_C_PERIODO_VAC, C_C_GRUPO, D_D_INICIO, D_D_TERMINO, N_N_DIAS_EFECTIVO, N_N_DIAS_PENDIENTE, DIAS_EFECTIVO
01 T 17 0003 01 16/10/1998 14/11/1998 30.00 0.00 30.00 0.00 MATIENZO FLORES CARLOS 1997 - 1998
01 T 19 0003 01 16/01/1999 14/02/1999 30.00 0.00 30.00 0.00 MESTANZA GARCIA AUGUSTO 1997 - 1998
01 T 2 0003 01 15/04/1999 14/05/1999 30.00 0.00 30.00 0.00 AGUILAR PADILLA IRIS VIOLETA 1997 - 1998
01 T 20 0003 01 01/03/1999 15/03/1999 30.00 0.00 15.00 0.00 MILLONES CARRILLO WILFREDO HUGO 1997 - 1998
01 T 20 0003 01 25/05/1999 08/06/1999 30.00 0.00 15.00 0.00 MILLONES CARRILLO WILFREDO HUGO 1997 - 1998
01 T 20001 0006 01 27/07/2000 27/07/2000 2.00 28.00 1.00 28.00 SUBAUSTE BRACESCO ARMANDO MIGUEL 2000 - 2001
01 T 20001 0006 01 31/07/2000 31/07/2000 2.00 28.00 1.00 28.00 SUBAUSTE BRACESCO ARMANDO MIGUEL 2000 - 2001
01 T 20002 0006 01 10/09/2001 24/09/2001 30.00 0.00 15.00 0.00 VEGA MEJIA CECILIA FRIDA 2000 - 2001
01 T 20002 0006 01 22/10/2001 28/10/2001 30.00 0.00 7.00 0.00 VEGA MEJIA CECILIA FRIDA 2000 - 2001
01 T 20002 0006 01 10/12/2001 16/12/2001 30.00 0.00 7.00 0.00 VEGA MEJIA CECILIA FRIDA 2000 - 2001
1 01 T 20002 0006 01 07/01/2002 07/01/2002 30.00 0.00 1.00 0.00 VEGA MEJIA CECILIA FRIDA 2000 - 2001
Y este el query:
Código SQL:
Ver original
  1. SELECT A.C_C_EMPRESA,  
  2.          A.C_C_AUXILIAR,  
  3.          A.C_C_CODIGO,  
  4.          A.C_C_PERIODO_VAC,  
  5.          A.C_C_GRUPO,  
  6.          D.D_D_INICIO,  
  7.          D.D_D_TERMINO,  
  8.          A.N_N_DIAS_EFECTIVO,  
  9.          A.N_N_DIAS_PENDIENTE,  
  10.          D.N_N_DIAS_EFECTIVO AS DIAS_EFECTIVO,  
  11.          A.N_N_DIAS_PENDIENTE,  
  12.          uf_desc_trabajador(A.c_c_empresa, A.c_c_grupo, A.c_c_codigo) AS nombre,  
  13.          UF_DESC_PERIODO_VAC_new( A.c_c_empresa, A.c_c_periodo_vac)       AS periodo_vacacional,  
  14.          uf_desc_grupo_planilla (A.c_c_empresa, A.c_c_grupo)          AS grupo_planilla ,  
  15.          TO_DATE(B.D_PROG_VACACION,'dd/mm/yyyy') AS d_d_prog_vacacion,
  16.          TO_DATE(B.D_INGRESO,'dd/mm/yyyy') AS d_d_ingreso ,
  17.          ADD_MONTHS(to_date(B.d_prog_vacacion, 'dd/mm/yyyy'),12 * (TO_NUMBER(TO_CHAR(C.D_D_DESDE, 'YYYY')) - to_number(to_char(ADD_MONTHS(to_date(B.d_prog_vacacion, 'dd/mm/yyyy'), 12), 'yyyy')) + 1)) AS d_d_habil_inicio,
  18.          ADD_MONTHS(to_date(B.d_prog_vacacion, 'dd/mm/yyyy'),12 * (TO_NUMBER(TO_CHAR(C.D_D_DESDE, 'YYYY')) - to_number(to_char(ADD_MONTHS(to_date(B.d_prog_vacacion, 'dd/mm/yyyy'), 12), 'yyyy')) + 2)) - 1  AS d_d_habil_termino
  19.     FROM VACACION_PROGRAMACION A,  
  20.          TRABAJADOR  B,
  21.          PERIODO_VACACIONAL C,
  22.          VACACION_EFECTIVA D
  23.    WHERE A.C_C_EMPRESA    = '01'  AND
  24.          A.C_C_GRUPO       = '&grupo'    AND
  25.          A.C_C_AUXILIAR    = 'T' AND
  26.          A.C_C_EMPRESA   = B.C_C_EMPRESA   AND  
  27.          A.C_C_CODIGO    = B.C_C_CODIGO    AND
  28.          A.C_C_AUXILIAR  = B.C_C_AUXILIAR  AND
  29.          A.C_C_GRUPO       = B.C_C_GRUPO     AND
  30.          A.C_C_EMPRESA   = C.C_C_EMPRESA   AND
  31.          A.C_C_PERIODO_VAC = C.C_C_PERIODO_VAC AND
  32.          TO_CHAR(D.D_D_INICIO,'YYYYMMDD')>='&fecha_ini' AND
  33.          TO_CHAR(D.D_D_TERMINO,'YYYYMMDD')<='&fecha_fin' AND
  34.          A.C_C_GRUPO       = D.C_C_GRUPO     AND
  35.          A.C_C_AUXILIAR    = D.C_C_AUXILIAR    AND
  36.          A.C_C_EMPRESA   = D.C_C_EMPRESA   AND  
  37.          A.C_C_CODIGO    = D.C_C_CODIGO    AND
  38.          A.C_C_AUXILIAR  = D.C_C_AUXILIAR  AND
  39.          A.C_C_PERIODO_VAC = D.C_C_PERIODO_VAC --and
  40. ORDER BY 3,4,6

Saludos.