Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/01/2013, 15:41
sanymatu
 
Fecha de Ingreso: enero-2013
Mensajes: 14
Antigüedad: 11 años, 10 meses
Puntos: 0
Consulta usando LEFT JOIN

Buenas gente, llegue al foro buscando una solucion para mi problema (y no la encontre jejejeje).

El tema es asi, tengo 3 tablas, planillaDiaria, empleados y vales, las tres se relacionan por el id del empleado.

La consulta que intento hacer es listar todos los empleados, sumando el sueldo de las planillas correspondientes a c/u y sumar la cantidad de dinero en vales tambien de cada uno.

Intente varias consultas pero siempre tengo el mismo error (si un empleado tiene 2 planillas y un vale de $ 100, me duplica el vale a $ 200, si tuviera 3 planillas me lo triplica y asi sucesivamente) la ultima consulta que intente es esta:

"SELECT SUM(plani.sueldo) AS neto, emp.nombreApellido, SUM(vale.importeVale) AS descuento FROM planillaDiaria AS plani
LEFT JOIN empleados AS emp ON plani.idEmpleado=emp.id LEFT JOIN vales AS vale ON emp.id=vale.idEmpleado
AND date(vale.fechaVale) between '".$liqModel->getFechaDesde()."' AND '".$liqModel->getFechaHasta()."'
AND vale.idEmpleado=emp.id
WHERE date(plani.fechaPlanilla) between '".$liqModel->getFechaDesde()."' AND '".$liqModel->getFechaHasta()."'
GROUP BY emp.id";

Si alguien me puede dar una idea del error que estoy comentiendo lo agradecere.

Saludos,
Matias.