Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/03/2011, 04:27
Avatar de Heimish2000
Heimish2000
 
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Duda Con select

Al hacer el INNER JOIN como en la tabla1 hay dos referencias y en la tabla2 hay una te juntara las dos referencias con esa una. Si tuvieras tres referencias a un producto en la tabla1 y cuatro en la tabla2 te aparecerían 12 registros del producto y las sumas darían mal. Hay que agrupar antes de hacer el INNER

Una forma de hacerlo (aunque no es la más eficiente) es:

Código SQL:
Ver original
  1. SELECT a.item, cc, cv
  2. FROM (SELECT item, SUM(cantidad_vendida) AS cv
  3.       FROM tabla1
  4.       GROUP BY item) AS a
  5. INNER JOIN (SELECT item, SUM(cantidad_comprada) AS cc
  6.             FROM tabla2
  7.             GROUP BY item) AS b ON
  8. a.item=b.item

Aunque antes de esa yo probaría esta (pero no se si funciona):

Código SQL:
Ver original
  1. SELECT ítem, SUM(tabla2.cantidad_comprada), SUM(tabla1.cantidad _vendida)
  2. FROM tabla1
  3. INNER JOIN tabla2 ON
  4. Tabla1.item=tabla2.item
  5. GROUP BY item