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

#1 Victor Koch
17/07/2008 - 20:08 | Informe spam
Hola

La formula seria:

si HoraSalida > HoraEntrada entonces
HorasTrabajadas=HoraSalida - HoraEntrada
Caso contrario
HorasTrabajadas=HoraSalida - HoraEntrada + 24 (Horas)



Un Saludo, Víctor Koch



"sqlTest" escribió en el mensaje
news:
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
Respuesta Responder a este mensaje
#2 flprincich
17/07/2008 - 21:28 | Informe spam
On 17 jul, 15:08, "Victor Koch" <v i c t o r
(arroba)correo(punto)waldbott(punto)com(punto)ar> wrote:
Hola

La formula seria:

si HoraSalida > HoraEntrada entonces
    HorasTrabajadas=HoraSalida - HoraEntrada
Caso contrario
    HorasTrabajadas=HoraSalida - HoraEntrada + 24 (Horas)

Un Saludo, Víctor Koch

"sqlTest" escribió en el mensajenews:
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



Hola:
Tube el mismo problema con un sistema de control de asistencia que
desarrolle... con los turnos extendidos!!!
el asunto es, si registras fecha y hora por separado hacer una
concatenación de fecha + hora en formato dateTime, es decir que te
quede por ejemplo : 01/01/2008 22:00:00 P.M. (fecha/hora entrada) y
02/01/2008 06:00:00 A.M. (fecha/hora salida)
dpues haces el datediff entre esos campos y te va a tirar la cantidad
de horas laburadas por asistencia. no tengo el snippet del codigo que
use en la consulta para calcularlo pero es mas o menos asi, creo que t-
sql tiene una funcion datediff, busacala en los e-books.
mandame un corrreo a y te mando el codigo mañana
a la mañana

Saludos y suerte.
Respuesta Responder a este mensaje
#3 Victor Koch
17/07/2008 - 22:01 | Informe spam
Para mi lo correcto seria guardar fecha y hora de entrada y salida en ves
de hora de entrada y salida.

Un Saludo, Víctor Koch



"flprincich" escribió en el mensaje
news:
On 17 jul, 15:08, "Victor Koch" <v i c t o r
(arroba)correo(punto)waldbott(punto)com(punto)ar> wrote:
Hola

La formula seria:

si HoraSalida > HoraEntrada entonces
HorasTrabajadas=HoraSalida - HoraEntrada
Caso contrario
HorasTrabajadas=HoraSalida - HoraEntrada + 24 (Horas)

Un Saludo, Víctor Koch

"sqlTest" escribió en el
mensajenews:
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



Hola:
Tube el mismo problema con un sistema de control de asistencia que
desarrolle... con los turnos extendidos!!!
el asunto es, si registras fecha y hora por separado hacer una
concatenación de fecha + hora en formato dateTime, es decir que te
quede por ejemplo : 01/01/2008 22:00:00 P.M. (fecha/hora entrada) y
02/01/2008 06:00:00 A.M. (fecha/hora salida)
dpues haces el datediff entre esos campos y te va a tirar la cantidad
de horas laburadas por asistencia. no tengo el snippet del codigo que
use en la consulta para calcularlo pero es mas o menos asi, creo que t-
sql tiene una funcion datediff, busacala en los e-books.
mandame un corrreo a y te mando el codigo mañana
a la mañana

Saludos y suerte.
Respuesta Responder a este mensaje
#4 sqlTest
18/07/2008 - 09:38 | Informe spam
Hola grácias por vuestra ayuda,

Creo que no me explique bien al comentar mi problema.

Lo que necesito es calcular la horas totales trabajadas en
determinados rangos.
La estructura de la tabla donde están los registros es la siguiente:

** Empleado ** - código del empleado
** Fecha ** - Se guarda la fecha en que entra el empleado
** HoraEntrada ** - Se guarda la fecha y la hora en que entra el
empleado
** HoraSalida ** - Se guarda la fecha y la hora en que sale el
empleado

Por ejemplo, tengo los siguientes registros y quiero saber las horas
realizadas desde las 18 hasta las 19 horas

Empleado Fecha HoraEntrada HoraSalida
TotHoras de 18-19
1 17/7/2008 17/7/2008 17:50 17/7/2008 20:00
1
2 17/7/2008 17/7/2008 15:00 17/7/2008 18:20 0.20
1 18/7/2008 18/7/2008 18:30 18/7/2008 01:00
0.30

Muchísimas grácias por vuestra ayuda.
Respuesta Responder a este mensaje
#5 sqlTest
18/07/2008 - 09:45 | Informe spam
perdonar la hora de salida del último registro es 19/7/2008 01:00
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida