Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/05/2010, 14:07
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 3 meses
Puntos: 360
Respuesta: Sumar datos de varias tablas

Prueba esta y revisala


Código MySQL:
Ver original
  1. p.id,
  2. p.codigo,
  3. p.modelo,
  4. p.cantidad,
  5. m.marca,
  6. IFNULL(s.cant_stock,0) AS cant_stock,
  7. IFNULL(iv.cant_vendida,0) AS cant_vendida,
  8. (IFNULL(s.cant_stock,0)-IFNULL(iv.cant_vendida,0)) AS stock_actual
  9. FROM productos p
  10. (
  11. p1.id id_prod,
  12. SUM(IFNULL(s1.cantidad,0)) AS cant_stock
  13. FROM productos p1
  14. stock s1
  15. p1.id=s1.id_prod
  16. GROUP BY s1.id_prod
  17. )s
  18. s.id_prod=p.id
  19. (
  20. p2.id id_producto,
  21. SUM(IFNULL(iv2.cantidad,0)) AS cant_vendida
  22. FROM productos p2
  23. items_venta iv2
  24. p2.id=iv2.id_producto
  25. GROUP BY iv2.id_producto
  26. ) iv
  27. iv.id_producto=p.id
  28. LEFT JOIN marcas m
  29. ON p.id_marca=m.id
  30. GROUP BY s.id_prod;

En pocas palabras, como agrupas ambas sumas por el stock.id_prod todos los resultados que concuerden con dicho agrupamiento serán sumados.

Por esta razón, lo que te doy es la suma individual, para luego llamarlo en los joins como procedimientos ya realizados por separado.

Nos cuentas si te sirve.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 18/05/2010 a las 14:14