Hola a todos
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:
select
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;
Tabla trafico diario
Código:
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
Tabla control HHEE (tiempo extra)
Código:
Table 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
Tabla datos usuarios
Código:
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
Espero no haberlos mareado que tanto dato, pero quise poner todo para que se entienda.
desde ya gracias