Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/09/2013, 11:49
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: inner join con union

Por lo pronto, el uso de GROUP BY intermedios peude darte problemas, ya que toda clausula final genera consolidaciones. Por ello debes generar subconsultas con cada SELECT.
Por otro lado, el UNION puede genera errores porque tiene el comportamiento de un DISTINCT: Descarta registros con iguales valores (improbables pero no imposibles)
Yo te sugeriría, antes de avanzar, probar:
Código MySQL:
Ver original
  1. SELECT   prod_cod,
  2.          prod_nom,
  3.          egresos
  4.     (SELECT   mov_articulos.prod_cod,
  5.              mov_articulos.prod_nom,
  6.              SUM (mov_articulos.prod_cant) egresos
  7.         FROM mov_articulos INNER JOIN mov_factura
  8.              ON mov_factura.nro_factura = mov_articulos.id_comp
  9.        WHERE tipo_comp = '1'
  10.     GROUP BY mov_articulos.prod_cod) T1
  11.     UNION ALL
  12. SELECT   prod_cod,
  13.          prod_nom,
  14.          inresos
  15.     (SELECT   0 prod_cod,
  16.              '' prod_nom,
  17.              SUM (mov_prov_articulos.prod_cant) ingresos
  18.         FROM mov_prov_articulos INNER JOIN mov_prov_factura
  19.              ON mov_prov_factura.nro_factura = mov_prov_articulos.id_comp
  20.        WHERE tipo_comp = '1'
  21.     GROUP BY mov_prov_articulos.prod_cod) T2
  22. ;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)