Al hacer la resta de de las horas y multiplicarla por 24 y por 60 obtienes el numero de minutos.
Si vuelves a multiplicarlo por 60 tienes el numero de segundos.
En mysql existe una función llamada sec_to_time que tiene como entrada el numero de segundos y retorna una hora en el formato que buscas.
En este
foro alguien la construyó y tal vez la puedas adaptar a tus necesidades.
saludos