Buscar horas trabajadas en rangos

17/07/2008 - 10:12 por sqlTest | Informe spam
Hola,
tengo la tabla "TrabajoEmpleados" con la estructura siguiente:

CódigoEmpleado Fecha HoraEntrada HoraSalida
-
-

Por otro lado tengo todos los rangos de las horas de 1 dia como
5-6,6-7,...12-13,..23:0,..hasta 4-5

Bueno el tema es que necesito sumar el número de horas totales
trabajadas en un determinado rango pero después de realizar muchísimas
pruebas no doy con la solución ya que lo que me da más problemas es
cuando un empleado comienza en un dia (a las 23 pej)
horas) y finaliza al dia siguiente (a las 2 horas por ejemplo.

Cabe decir también que estoy utilizando sql-server 2005.

Muchísimas grácias por cualquier ayuda

Preguntas similare

Leer las respuestas

#21 Carlos M. Calvelo
20/07/2008 - 23:38 | Informe spam
Hola Alejandro,

On 20 jul, 14:53, Alejandro Mesa
wrote:
Carlos,

El rango 23 - 01 implica desde las las 11:00 pm de el dia anterior hasta la
1:00 am de el dia posterior.



Si.

Eso no implica que 23 - 01 sea igual a las horas
trabajadas en el rango 23:00 mas las horas trabajadas en el rango 00:01,
puesto que al decir 00:01 no sabemos si es anterior o posterior a las 23
horas.



Entiendo lo que quieres decir.
Pero si alguien ha trabajado este periodo:
2008-01-01 23:00 á 2008-01-02 01:00

este se puede partir en dos:
2008-01-01 23:00 á 2008-01-02 00:00
2008-01-02 00:00 á 2008-01-02 01:00

Pero mires como lo mires se han trabajado 2 horas.
Si tenemos definidos en la tabla Rangos dos rangos,
23 - 00 y 00 - 01, le corresponde una hora a cada uno.
Si en vez de esos dos rangos tenemos solo este: 23 - 01 pues le
corresponden 2 horas.
*Sin importar en qué días se han trabajado esas horas.*
Vamos.. así he interpretado yo el asunto.


Para el tipo de problema que planteas, el orden cronologico debe ser
importante, de lo contrario el valor de el rango 01:23 seria el mismo que el
valor de el rango 23:01.



Cierto. 01 - 23 y 23 - 01 no es lo mismo. El primero es un rango de
22 horas y el segundo de 2.

Hemos interpretado el problema de forma distinta o no nos hemos
entedido muy bien con este rompecabezas.


Sabes que, ese problema se lo dejo a quien posteo el problema original.




Sabes que? Pienso exactamente lo mismo. :-)

Saludos,
Carlos
Respuesta Responder a este mensaje
#22 sqlTest
21/07/2008 - 12:51 | Informe spam
Hola,
la verdad es que vuestras sql's han funcionado perfectamente para la
necesidad que tenía.
De todas formas me gustaría comprender su funcionamiento ya que mi
nivel de sql aún queda alejado para hacerlo. Pero voy a ponerme en
ello.
Espero resolver el caso del rango 23-01 muy pronto.

Muchas grácias por vuestra ayuda
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida