Básicamente es imposible que el total de horas asignadas a una misma instancia de una entidad pueda llegar a esa cifra (una persona no puede trabajar 1000 horas en un mes, porque un mes sólo tiene 744 en total), lo que me indica que estás haciendo una sumatoria sin desagregaciones, para la cual, no debería ser necesario representarlo en formato HH:MM:SS.
En cualquier caso, lo que tienes que hacer es o construir el string de horas artificialmente, o representar el tiempo transcurrido en un formato DD.HH.mm.ss, que sí podría ser más o menos lógico.
Una forma sencilla sería:
Para que se entienda las funciones usadas, si el valor sumado de TTtotal fuese de 100.000, el resultado sería:
Código MySQL:
Ver original+-------------+
| TiempoTotal |
+-------------+
| 1.03:46:40 |
+-------------+
Y si fuese menor a 86400:
Código MySQL:
Ver original+-------------+
| TiempoTotal |
+-------------+
| 03:03:20 |
+-------------+