Necesito de su ayuda, tengo que hacer una consulta que toma datos de 3 tablas. Explico un poco que tienen las tablas
1.- Tabla: agente_diario: guarda las acciones que hace cada usuario en el sistema, me interesa de esta tabla el tiempo de logon expresado en minutos tiempologon_mm, disponible_mm y conversacion_mm.
2.- Tabla hheeagente: guarda el tiempo extra que estubo en sesión cada agente, cada agente tiene definido un tiempo de trabajo (en la tabla usuarios) y si excede ese máximo, registra el valor del tiempo excedido en mm, campo hhee.
3.- Tabla Usuarios: tiene los parametros del usuario, dentro de los que me interesan para esta consulta estan los campos: tiempoturno (que esta determinado por el tipo de turno, cada tipoturno tiene asignado un valor tiempototal, y de tiempotrabajo) y tiempotrabajo, que es el tiempo efectivo de trabajo, descontado los lapsos de colacion y descanzo.
Pues ahora lo que necesito es una consulta que me liste:
Nombreagente, tipoturno, fecha, tiempoturno, tiempotrabajo, tiempologon_mm, hhee, (disponible_mm + conversacion_mm) Efectividad, ((disponible_mm + conversacion_mm)/tiempologonn_mm) indice_efectividad.
Pero la siguiente consulta me lista el primer registro que tiene un agente en la tabla hheeagente, y no el que corresponde a la fecha de los datos de la tabla agente_diario.
Código:
Tabla trafico diarioselect a.agente, b.tipoturno, a.fecha, b.tiempototal, b.tiempotrabajo, a.logon_mm as 'T de logon', c.hhee, (a.conversacion_mm) + (a.disponible_mm) `efectividad`, ((a.conversacion_mm + a.disponible_mm)/a.logon_mm) `indice_efectividad` from agente_diario a left join usuarios b on a.userid = b.userid left join hheeagente c on a.agente = c.nombrecompleto where a.fecha between '2009-01-13' and '2009-01-13' group by a.userid;
Código:
Tabla control HHEE (tiempo extra)Table Create Table ------------- ----------------------------------------------------- agente_diario CREATE TABLE `agente_diario` ( `nombreagente` varchar(50) default NULL, `tiempologon_hhmm` time default '00:00:00', `tiempologon_mm` int(10) default NULL, `fechalogon` date default NULL, `disponible_mm` int(10) default NULL, `nodisponible_mm` int(10) default NULL, `trabajando_mm` int(10) default NULL, `conversacion_mm` int(10) default NULL, `userid` int(4) default NULL ) TYPE=MyISAM
Código:
Tabla datos usuariosTable Create Table ---------- ---------------------------------------------- hheeagente CREATE TABLE `hheeagente` ( `userid` int(4) default NULL, `nombrecompleto` varchar(50) default NULL, `empresa` varchar(20) default NULL, `tipoturno` varchar(30) default NULL, `fecha` date default NULL, `hhee` int(4) default NULL ) TYPE=MyISAM
Código:
Espero no haberlos mareado que tanto dato, pero quise poner todo para que se entienda.Table Create Table -------- ---------------------------------------------- usuarios CREATE TABLE `usuarios` ( `userid` int(4) default NULL, `nombrecompleto` varchar(50) default NULL, `empresa` varchar(20) default NULL, `tipoturno` varchar(20) default NULL, `tiempoturno_mm` int(6) default NULL, `tiempotrabajo_mm` int(6) default NULL ) TYPE=MyISAM
desde ya gracias