Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta con fechas

Estas en el tema de Consulta con fechas en el foro de Mysql en Foros del Web. Hola buenos dias, tengo un problema. estoy haciendo una una aplicacion de asistencia de empleados, y necesito sacar de la base de datos la hora ...
  #1 (permalink)  
Antiguo 28/12/2012, 11:17
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Consulta con fechas

Hola buenos dias, tengo un problema.
estoy haciendo una una aplicacion de asistencia de empleados, y necesito sacar de la base de datos la hora de entrada y la hora de salida de cada persona, sin embargo los registros que tengo en la base de datos es algo como esto

63 63 1 0 2012-11-20 08:04:09 2012-12-27 17:33:00 7
79 63 1 1 2012-11-20 14:07:14 2012-12-27 17:33:00 7
84 63 1 0 2012-11-20 16:19:04 2012-12-27 17:33:00 7
89 63 1 1 2012-11-20 18:31:27 2012-12-27 17:33:00 7

por cada dia obtengo estos registros de un reloj checador donde los campos son :
numero consecutivo, numero de empleado (63), indicador de identificador, indicador de si es entrada o salida, fecha entrada/salida, fecha en que se ingreso el registro en la BD y el numero del checador del que se descargo el registro.

necesito saber la hora de entrada y la hora de salida sacados de los registros anteriores.

alguien puede ayudarme ?

saludos y gracias!!
  #2 (permalink)  
Antiguo 28/12/2012, 11:34
Avatar de 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: Consulta con fechas

Algo como:
Código MySQL:
Ver original
  1. SELECT id_empleado, id_identificador, DATE(entrada) Fecha, TIME(entrada) HoraEntrada, TIME(salida) HoraSalida
  2. FROM tabla
  3. ORDER BY Fecha, id_empleado, HoraEntrada, HoraSalida
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 28/12/2012, 16:44
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Consulta con fechas

Hola muchas gracias por contestar :)
mira ya tengo esta consulta, lo que pasa es que son varias tablas que tengo que juntar para sacar los datos que necesito:

Código MySQL:
Ver original
  1. SELECT DISTINCT DATE_FORMAT(tb_logs.fecha_log,'%d-%m-%Y')as Fecha, tb_empleados.nombre, tb_empleados.no_empleado, tb_empleados.puesto,
  2.                  DATE_FORMAT(fecha_log,'%H:%i:%s')  as Entrada, DATE_FORMAT(tb_logs.fecha_log,'%H:%i:%s') as Salida,
  3.                 tb_sucursales.sucursal, tb_horarios.hora_entrada as Horario_Entrada, tb_horarios.hora_salida as Horario_Salida
  4.     FROM tb_logs
  5.     INNER JOIN tb_empleados ON tb_logs.no_empleado=tb_empleados.no_empleado
  6.     INNER JOIN tb_sucursales ON tb_empleados.id_sucursal=tb_sucursales.id_sucursal
  7.     INNER JOIN tb_horarios ON tb_empleados.id_horario=tb_horarios.id_horario


de esto me devuelve algo asi:
21-11-2012 nombre empleado 53 puesto 08:28:37 08:28:37
21-11-2012 nombre empleado 53 puesto 14:08:20 14:08:20
21-11-2012 nombre empleado 53 puesto 15:56:11 15:56:11
21-11-2012 nombre empleado 53 puesto 19:25:31 19:25:31


por cada empleado cada día, y lo que quiero es que me devuelva un registro por empleado, por día donde me ponga, la fecha del registro, nombre del empleado, numero de empleado, puesto, hora de entrada y hora de salida etc.

espero em haya explicado :(

saludos y gracias!!!

Última edición por gnzsoloyo; 28/12/2012 a las 18:54 Razón: Código SQL sin etiquetar
  #4 (permalink)  
Antiguo 02/01/2013, 15:01
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Consulta con fechas

Hola, sigo con mi problema, lo que necesito es obtener de los 4 registros que tengo por día uno solo para mostrarlo en el reporte.

encontre esto que es parecido a lo que quiero pero no dan en si la respuesta :(
http://www.forosdelweb.com/f18/registro-php-con-2-mysql-959915/

saludos y espero alguien pueda ayudarme. :)
  #5 (permalink)  
Antiguo 02/01/2013, 18:38
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Consulta con fechas

Hola por si a alguien le sirve encontre una consulta parecida en la web y me quedo la mia asi:

Código MySQL:
Ver original
  1. SELECT T1.Fecha ,tb_empleados.nombre,T1.no_empleado, tb_sucursales.sucursal,tb_empleados.puesto,TIME(T1.entrada) entrada, TIME(T2.salida) salida, tb_horarios.hora_entrada, tb_horarios.hora_salida
  2. (SELECT no_empleado, DATE(fecha_log) Fecha, MIN(fecha_log) entrada FROM tb_logs WHERE entrada_salida = 0 GROUP BY no_empleado,  DATE(fecha_log)) T1
  3. (SELECT no_empleado, DATE(fecha_log) Fecha, MAX(fecha_log) salida FROM tb_logs WHERE entrada_salida = 1 GROUP BY no_empleado, DATE(fecha_log)) T2 ON T1.no_empleado = T2.no_empleado AND T1.Fecha = T2.Fecha
  4. INNER JOIN tb_empleados ON T1.no_empleado=tb_empleados.no_empleado
  5. INNER JOIN tb_sucursales ON tb_empleados.id_sucursal=tb_sucursales.id_sucursal
  6. INNER JOIN tb_horarios ON tb_empleados.id_horario=tb_horarios.id_horario

ya tengo la hora de entrada y la hora de salida solo me falta sacar de esos cuatro registros que tengo por dia la hora de la salida a comer y la hora de la entrada de comer.

saludos y acepto comentarios y aportes :)
gracias!!

Última edición por gnzsoloyo; 02/01/2013 a las 18:45 Razón: Código SQL sin etiquetar.

Etiquetas: operaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:16.