Re: Sql hora ponche

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: Ingeniero Wilkin ramirez <wilkin_ramirez(at)hotmail(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Sql hora ponche
Date: 2013-06-12 12:11:38
Message-ID: CAJKUy5j42oObSjbo6cjbx6rYdmat9xby-HRTM9d_ce0VjRWApQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2013/6/12 Ingeniero Wilkin ramirez <wilkin_ramirez(at)hotmail(dot)com>:
> Saludo lista.
> Tengo en una tabla almacenados registros de la siguiente manera.
> Empleado fecha. hora
> 1. 01-06-2013. 08:00
> 1. 01-06-2013. 12:00
> 1. 01-06-2013. 13:00
> 1. 01-06-2013. 18:00
> Me explico diario el empleado debe de ponchar cuattro vece entrada manana salida almuerzo entrada almuerzo y salida tarde.necesito saber mediante sql o una funcion cual hora corresponde entrada salida sabiendo que el empleado puede ponchar a cualkier hora k llegue lo k no se puede pasar es de cuatro pero puedes ponchar menos, necesito tener una control de eso para calcularle las horas extras diario a cada empleado. Gracias de ante manos.
>

1) aunque cambiaste el tema del correo, no hiciste limpieza y de paso
top-posting.
2) El diseño obviamente está pésimo:
- para que tener un campo fecha y un campo hora si podrias tener
un solo campo que almacene ambas cosas?
- si puedes ponchar la tarjeta menos de 4 veces necesitas un campo
que identifique cada fecha si es entrada/salida
- que pasa si por una emergencia el empleado sale pasada la media noche?
- o llega mas temprano?

una forma fea de resolver el problema sería (al menos te sirve para
que sepas como hacer el resto):

(select hora from tabla where empleado = 1 and (fecha + hora) + '1
day'::interval < '2013-06-02 06:00' order by fecha+hora desc limit 1)
salida_tarde
- (select hora from tabla where empleado = 1 and fecha + hora >=
'2013-06-01 06:00' order by fecha+hora limit 1) entrada_mañana

si quieres ademas restar las horas de almuerzo, necesitas las dos
horas de entrada/salida de almuerzo, si solo tienes una, no te sirve.
Lo mismo ocurre con las horas de entrada en la mañana y salida en la
tarde, necesitas ambas o establecer un predeterminado si no logras
encontrar alguna de ellas (es decir la consulta retorna NULL, puedes
usar COALESCE para eso).

De hecho parece que lo que necesitas es hacer una funcion que
verifique una por una la existencia de cada hora entrada/salida,
establezca predeterminados no marco alguna vez y trabajar con eso

--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Phone: +593 4 5107566 Cell: +593 987171157

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2013-06-12 15:29:52 Re: Sql hora ponche
Previous Message Ingeniero Wilkin ramirez 2013-06-12 11:12:23 Sql hora ponche