Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/02/2018, 16:59
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: TIMEDIFF = NULL -> incorrecto

SI entiendo bien, el tema pasa porque estás calculando la sumatoria de horas de cierto evento administrativo, como por ejemplo las horas trabajandas, y pretendes darle un formato de horas usando un tipo de dato TIME (TIMEDIFF devuelve un TIME). Pero el tipo de dato TIME sólo acepta 24:00 hs, nunca mas. De hecho, no existe BBDD que pueda aceptar mas de 24 hs... Porque eso como tipo de dato HORAS no existe.
Silo que quieres es obtener el tiempo total acumulado, necesitas hacerlo de otra forma:
1) Sumas los segundos totales con una función como TIMESTAMDIFF(unidad, inicio, fin).
2) Creas una funcion almacenada para que tome un valor numérico entero positivo y lo transforme en una cadena de texto con el formato HHH:MM.

O bien directamente haces el cálculo en el codebehind de la aplicación (capa de negocio o controladores), donde algunos lenguajes pueden hacer la tarea de igual forma...

Fuera de eso, si la sumatoria de tiempos en segundos es incorrecta, es posible que tengas un error en la definición de las relaciones, por estar relacionándose registros que no están vinculados, o bien le falta un correcto GROUP BY.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)