Ingeniero Wilkin ramirez escribió: > 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.
Si hay cuatro registros de ponchado, es fácil saber cuáles corresponden a entradas y cuáles a salidas. Y de ahí un poco de aritmética te soluciona el problema. Pero si sólo tienes tres, ¿cómo saber qué significa cada una? Quizás por ej. el empleado se olvidó ponchar en la mañana, y entonces la primera es salida; o quizás se olvidó ponchar al salir a almorzar, y entonces las dos primeras son entradas y la última es salida. No se me ocurre ninguna forma en que un sistema automático pueda corregir esto. Una posible idea sería agregar una columna "entrada/salida" a cada registro, que se calcule al final de cada día, de manera que si hay cuatro registros, se ponen los valores obvios (e, s, e, s), pero si hay menos entonces se calculan basados en una heurística (por ej. si el primero es cercano a las 8 asumes que es entrada, si es cercano a las 12 asumes que es salida), pero que un fiscalizador pueda cambiar cuando la heurística se equivoque. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda