Fwd: CONSULTA

From: "fabian olmos" <fabianolmos806(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Fwd: CONSULTA
Date: 2007-04-06 22:58:16
Message-ID: cd17fd4a0704061558p66a3abdeu76bc13fc32984160@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

---------- Forwarded message ----------
From: fabian olmos <fabianolmos806(at)gmail(dot)com>
Date: 06-abr-2007 6:41
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
> >
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Leonel 2007-04-06 23:06:06 Re: ayuda con libpq
Previous Message Alvaro Herrera 2007-04-06 22:12:30 Re: Pido opinion sobre almacenamiento de imagenes en Postgres