Consulta en mysql

Tengo las tablas Empleado, Boleta(idboleta, idempleado,.....), Factura(idfactura, idempleado,..)

Quiero hacer una consulta sobre cual es el empleado que vendió mas, este es mi código:

/*******************************/
select nombempl, count(*)
from empleado e
inner join boleta b on e.idempleado=b.idempleado
inner join factura f on e.idempleado=f.idempleado
group by nombempl
order by count(*)desc;

/*******************************/

Mi resultado es este:

Andrea 22 , pero eso no es cierto , ya que Andrea (empleada 1) según mis datos solo a atendido 11 veces en facturas y boletas me sale el doble porque al hacer inner join el mysql hace esto:

Empleado

1

1
Respuesta
1

Te esta haciendo el producto cartesiano

Deberías hacer un union entre select diferentes para factura y boleta

Luego un count de eso mismo

Ahí te dará 5

Osea unir estos dos códigos verdad?

select nombempl, count(*)
from empleado e
inner join boleta b
on e.idempleado=b.idempleado
group by nombempl
order by count(*)desc;


(select nombempl, count(*)
from empleado e
inner join factura f
on e.idempleado=f.idempleado
group by nombempl
order by count(*)desc);

Pero como lo hago??

Esto te puede ayudar mejor

http://www.devx.com/tips/Tip/31335

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas