Fwd: CONSULTA

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Lista PostgreSQL" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Fwd: CONSULTA
Date: 2007-04-06 20:44:47
Message-ID: c2d9e70e0704061344l5f65c06cgdd5f626872ac40b4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

reenviando a la lista

---------- Forwarded message ----------
From: fabian olmos <fabianolmos806(at)gmail(dot)com>
Date: Apr 6, 2007 5:41 AM
Subject: Re: [pgsql-es-ayuda] CONSULTA
To: Jaime Casanova <systemguards(at)gmail(dot)com>

que nose como sacar el listado. hice esto pero no me sirve porq me
trae todas las fecha menores a la introducida por el usuario en el
mes. pero yo quiero que me traiga solo los que deberian integrase al
trabajo en esa fecha.

PRIMERA PARTE

SELECT a.cedula,(a.apellido||' '||a.nombre) AS
nombre,b.cargo,c.ubicacion,d.ffin,acceso.dia_incor
poracion(d.ffin,'2007-04-16'::date)
FROM acceso.empleado a
INNER JOIN acceso.cargo b ON (a.cod_cargo=b.cod_cargo)
INNER JOIN acceso.ubicacion c ON (a.cod_ubic=c.cod_ubic)
INNER JOIN acceso.permisos d ON (a.cedula=d.cedula)
WHERE

('2007-04-16'::date NOT IN (SELECT (extract(year FROM
NOW())||'-'||a.mes||'-'||a.dia)::date FROM acceso.dias_festivos a))
AND (EXTRACT(DOW FROM '2007-04-16'::date) NOT IN (0,6) ) AND
EXTRACT(MONTH FROM '2007-04-05'::date)=EXTRACT(MONTH FROM d.ffin)
AND d.ffin<='2007-04-16'::date

SEGUNDA PARTE

CREATE OR REPLACE FUNCTION acceso.dia_incorporacion(date,date) RETURNS
DATE AS $$
DECLARE
fecha_fin_de_permiso ALIAS FOR $1;
fecha_de_consulta ALIAS FOR $2;
fecha_de_incorporacion DATE;
BEGIN

fecha_de_incorporacion:=( SELECT (fecha_fin_de_permiso + dia ) AS FECHA
FROM GENERATE_SERIES(1, fecha_de_consulta - fecha_fin_de_permiso) AS dia
WHERE
(EXTRACT (DOW FROM (fecha_fin_de_permiso + dia ))) NOT IN (0,6)
AND
(fecha_fin_de_permiso + dia ) NOT IN
(SELECT (extract(year FROM NOW())||'-'||a.mes||'-'||a.dia)::date FROM
acceso.dias_festivos a)
ORDER BY FECHA DESC LIMIT 1 );

RETURN fecha_de_incorporacion;
END; $$ LANGUAGE 'plpgsql';

El día 6/04/07, fabian olmos <fabianolmos806(at)gmail(dot)com> escribió:
> si como sacar el listado.....
>
>
> El día 5/04/07, Jaime Casanova <systemguards(at)gmail(dot)com> escribió:
>
> > solo texto que no todos pueden leer html
> >
> > On 4/5/07, fabian olmos < fabianolmos806(at)gmail(dot)com> wrote:
> > > hola amigos que tal, necesito ayuda con esto ya que no se como entrarle. tengo que sacar el listado de las personas que deben integrase al trabajo siempre y cuando hayan solicitado permisos y la fecha fin de ese permiso sea el dia anterior a de la consulta. ejemplo
> > > JUAN PEREZ FECHA DE PERMISO 10 AL 12 DE ABRIL DE 2007. si el usuario consulta el 13 dicha persona de aparecer en el reporte.
> > >
> > > pero ahora si su fecha de incorporacion es un sabado o un domingo o un dia feriado dicha persona debe integrarse al trabajo el dia siguiente habil. al consultar el usuario el dia lunes deben aparecer dichas personas que cumplan esa condicion,.
> > >
> > >
> >
> > interesante... y cual era tu problema? quieres saber como sacar el
> > listado? como encontrar el dia anterior? como moverte al siguiente dia
> > habil?
> >
> > --
> > Atentamente,
> > Jaime Casanova
> >
> > "Programming today is a race between software engineers striving to
> > build bigger and better idiot-proof programs and the universe trying
> > to produce bigger and better idiots.
> > So far, the universe is winning."
> > Richard Cook
> >
>
>

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2007-04-06 21:41:45 Re: Hola Lista
Previous Message jeison 2007-04-06 19:32:25 ayuda con libpq