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
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 |