Suma de Horas

28/09/2008 - 19:15 por raul | Informe spam
Hola,

Tengo una tabla en la que guardo en formato datetime las horas que lleva
trabajada cada persona.

Ahora para unos reportes necesito la suma de horas trabajadas entre
todas las personas en un día.

Cuando ejecuta esta consulta:

select sum(horastrabajadas_htr) as TotalHoras from t_horastrabajador where
fecha_htr>='20080928 00:00' AND fecha_htr<='20080929 23:59'



Me dice que el tipo de datos smalldatetime no es valido para el operador
sum.

¿ Como podría hacer la suma de las horas trabajadas por todas las personas
en cierto intervalo de tiempo?.

Lo único que se me ocurre es crear un procedimiento que recorra un recordset
e irlas sumando una por una con dateadd, perooooo..., me parece poco
profesional.

Agradecido desde ya,



raul l. cobos

http://www.softwarelavanderias.es

http://www.lavanderias.org

Preguntas similare

Leer las respuestas

#1 Maxi Accotto
29/09/2008 - 01:00 | Informe spam
Hola, revise el uso de datediff., si saca el datediff de cada persona en
minutos y luego suma todos esos minutos tendra el total de minutos por dia.


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"raul" escribió en el mensaje de
noticias:gboel7$459$
Hola,

Tengo una tabla en la que guardo en formato datetime las horas que
lleva trabajada cada persona.

Ahora para unos reportes necesito la suma de horas trabajadas entre
todas las personas en un día.

Cuando ejecuta esta consulta:

select sum(horastrabajadas_htr) as TotalHoras from t_horastrabajador where
fecha_htr>='20080928 00:00' AND fecha_htr<='20080929 23:59'



Me dice que el tipo de datos smalldatetime no es valido para el operador
sum.

¿ Como podría hacer la suma de las horas trabajadas por todas las personas
en cierto intervalo de tiempo?.

Lo único que se me ocurre es crear un procedimiento que recorra un
recordset e irlas sumando una por una con dateadd, perooooo..., me parece
poco profesional.

Agradecido desde ya,



raul l. cobos

http://www.softwarelavanderias.es

http://www.lavanderias.org










Respuesta Responder a este mensaje
#2 jmauriciopb
01/10/2008 - 23:27 | Informe spam
Hola Raul.

si no tienes fecha inicial y fecha final por registro DatedIff no
aplica a tu caso.

Para no toparme con ese problema, guardo el tiempo en segundos en un
campo Entero (por dia), lanzo el select desde la aplicacion y para la
presentacion al usuario hago la transformacion necesaria.

Saludos.
Mauricio Pulla.
Cuenca-Ecuador.


    Tengo una tabla en la que guardo en formato datetime las horas que lleva
trabajada cada persona.

    Ahora para unos reportes necesito la suma de horas trabajadas entre
todas las personas en un día.

    Cuando ejecuta esta consulta:

select sum(horastrabajadas_htr) as TotalHoras from t_horastrabajador where
fecha_htr>='20080928 00:00' AND fecha_htr<='20080929 23:59'

 Me dice que el tipo de datos smalldatetime no es valido para el operador
sum.

 ¿ Como podría hacer la suma de las horas trabajadas por todas las personas
en cierto intervalo de tiempo?.

Lo único que se me ocurre es crear un procedimiento que recorra un recordset
e irlas sumando una por una con dateadd, perooooo..., me parece poco
profesional.

Agradecido desde ya,

raul l. cobos

http://www.softwarelavanderias.es

http://www.lavanderias.org
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida