Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/08/2011, 10:43
Fozziepupus
 
Fecha de Ingreso: julio-2010
Mensajes: 23
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Obtener Diferencia de Horas MySQL

Buenos dias, estoy trabajando sobre una web jsp con una bd en MySQL, estoy utilizando el Xampp 1.7.3, y pues ahora me ha resultado un problema que no entiendo como resolverlo y pido de su ayuda...


El caso es que tengo en mi BD una vista llamada ''Reporte" en donde tengo campos de otras dos tablas incluidas en la BD, en la vista Reporte tengo dos campos de tipo TIME, h_inicio y h_fin para la hora de inicio y la hora de fin respectivamente, entonces al crear la vista necesito obtener las horas programadas para cada persona, esto si lo puedo sacar como deseo, en un entero, restando la hora de fin menos la de inicio asi: (h_fin - h_inicio) AS programadas, como ejemplo (08:00:00 - 07:00:00) AS programadas, lo que me da un valor de "1" porque es una hora...

El problema viene cuando quiero sacar el tiempo que ha estado dentro la persona, dependiendo de la hora en la que se registro y de la hora que tiene asignado, osea si su horario es h_inicio = 07:00:00 y la h_fin = 08:00:00 y el se registro a las 07:20:00 la diferencia deberia ser de 40 minutos (00:40:00) pero no se como obtener los 40 minutos, ya que si resto la hora de fin menos la hora de registro me obtiene un valor entero con decimal, en este caso me obtendria 0.8 lo cual no me sirve, porque no me muestra cuanto tiempo en minutos fue...

¿alguna sugerencia?

este es el codigo de mi vista:

CREATE VIEW Reporte AS SELECT L.nombre, L.edificio, H.id_lab, R.fecha, R.h_reg, H.h_inicio, H.h_fin, (H.h_fin - H.h_inicio)/10000 AS Programadas, (H.h_fin - R.h_reg)/10000 AS Usadas
FROM horario_lab H LEFT JOIN registro R ON
R.id_lab = H.id_lab AND R.id_prof = H.id_prof JOIN laboratorios L ON L.id_lab = H.id_lab


donde las horas programadas me aparecen como un entero dependiendo cuantas horas tenga asignadas, pero en las usadas me sale con decimales....