Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2009, 14:05
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 3 meses
Puntos: 0
Problema con Left Join

Buenas tardes como estan ???

Bueno tengo una consulta y tiene algun problema porque no funciona como necesito

la consulta es esta

Código:
select sum((det_compras.cantidad + det_nota.cantidad) - det_venta.cantidad - det_devoluciones.cantidad)
 from det_compras
left join det_devoluciones on det_devoluciones.codpro = det_compras.codpro
left join det_venta on det_venta.codpro = det_compras.codpro 
left join det_nota on det_nota.codpro = det_compras.codpro
where det_compras.codpro = 1
como veran lo que hago es buscar del producto 1 y sumar las cantidades que han comprado (det_compras), las que han sido devueltas al negocios (det_nota) y luego restar las que fueron vendidas (det_venta) y las que han sido devueltas al proveedor (det_devoluciones).

Lo seguro es que el codigo 1 va a estar el det_compras entonces buscamos si existe en las demas tablas y sumar o restar segun que tabla sea.
Ahora el problema es que si en alguna de estas tablas el el dato 1 no existe me trae el valor nulo. Es decir

si compre (det_compras) 3 y vendi (det_venta) 1, de las vendidas devolviron al negocio (det_nota) 1 pero no devolvi al proveedor (det_devoluciones) ninguno me trae nulo el valor y me deberia traer 3 ... porque sera ???
Gracias