Ver Mensaje Individual
  #17 (permalink)  
Antiguo 05/09/2013, 11:30
freedert
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: inner join con union

Agrego algo mas, con un solo par de tablas sea ventas o compras no tuve problemas en obtener los resultados con join, lo que no entiendo como hacer es la consulta a ambos pares de tabla de ventas y de compras, mostandolas combinadamente en un solo resultado.

Por lo que entiendo, el sql para obtener la sumatoria de ventas podria ser por ejemplo:
Código MySQL:
Ver original
  1. SELECT *, SUM(prod_cant) AS egresos
  2.             FROM mov_articulos
  3.             RIGHT JOIN mov_factura
  4.             ON mov_factura.id_mov_factura = mov_articulos.id_comp
  5.             WHERE mov_articulos.tipo_comp = '1'
  6.             GROUP BY prod_cod
Aqui estoy obteniendo todas las filas de articulos en mov_articulos que existan en mov_factura y esta ultima cumpla las condiciones de ser cliente 1 y tipo 1.

eso funciona perfectamente, ahora necesito conbinar el resultado con el select identico que muestra lo mismo pero del par de tablas de proveedores. asi poder tenerlos en una misma vista un resultado al lado de otro agrupado por artiuclo.

(aclaro una situacion, no se va a dar nunca la posibildad de diferir entre las tablas, siempre que exista un producto en la tabla mov_articulos tiene que haber su referente factura en al tabla mov_factura y al revez, por lo que creo que es indistinto si es right o left por ejemplo) si mal no entiendo claro esta.

En este momento hice funcionar bien el script pero no de la manera que quiero ya que tube que insertar una segunda consulta dentro del while del php que se ejecutara por cada codigo mostrado en el primer select, es esta:

Código MySQL:
Ver original
  1. SELECT *, SUM(prod_cant) AS ingresos
  2.                     FROM mov_prov_articulos
  3.                     WHERE mov_prov_articulos.tipo_comp = '1' AND mov_prov_articulos.prod_cod = '".$row['prod_cod']."'


Asi funciona, obtengo ambos datos que necesito, pero me gustaria ver si puedo hacerlo todo con un solo select, si es que se puede.


gracias por el aguante!

Última edición por freedert; 05/09/2013 a las 12:21