Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/02/2015, 06:26
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: unir registros en mysql

Vamos a hacertélo más simple...
La consulta que corresponde usar en tu contexto es esta:
Código MySQL:
Ver original
  1. ID_Articulo, , ID_Proveedor, SUM(cantidad) cantidad
  2. FROM stock
  3. GROUP BY ID_Articulo, ID_Proveedor;

Esto otro:
Código SQL:
Ver original
  1. Tabla: Stock
  2. ID           ID_Proveedor_1          ID_Proveedor_2    ID_Articulo           Cantidad
  3. --            200                            300                      1                          500
Es lo que se denomina "reporte consolidado", y no se hace con una consulta de SQL, sino con aplicativos programados, ya sea que los programes tu, o que uses un paquete de terceros. Pero no se hace con consultas.
Además, la consulta que planteas es totalmente ineficiente, porque hace un subselect por cada proveedor y por cada articulo encontrado. Es un espanto de performance.

Existen herramientas en SQL que realizan parte de la tarea de consolidación de datos, como es el caso de los cubos OLAP, y algunos DBMS tienen buenas herramientas para crearlos, pero no son SQL estándar, y no son iguales en todos los DBMS.
Para tu caso, te sugiero usar programación (no es tan difícil, yo lo he hecho muchas veces).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)