Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2014, 12:19
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Compras del dia

estas haciendo join's implicitos por lo que estas haciendo un producto cartesiano si no le dices que valor es el que une cada query..en tu caso te falta esto:

Código SQL:
Ver original
  1. SELECT T.PRODUCTOPEMEX, T.NOMBRE,
  2. SUM(T.VOLUMENRECEPCION) AS VOLUMENDIESEL, R.PRODUCTOPEMEX, R.NOMBRE,
  3. SUM(R.VOLUMENRECEPCION) AS VOLUMENMAGNA, S.PRODUCTOPEMEX, S.NOMBRE,
  4. SUM(S.VOLUMENRECEPCION) AS VOLUMENPREMIUM
  5. FROM
  6. (SELECT P.CODIGO, P.NOMBRE, AREC.VOLUMENRECEPCION,AREC.PRODUCTOPEMEX FROM ARCHIVOREC AS AREC INNER JOIN PRODUCTO AS P
  7. ON AREC.PRODUCTOPEMEX = P.CODIGO
  8. WHERE YEAR (FECHARECEPCION)=2014 AND MONTH (FECHARECEPCION)=6 AND DAY(FECHARECEPCION)=4 AND productopemex=34006
  9. ) AS T ,
  10. (SELECT PP.CODIGO, PP.NOMBRE, AREC.VOLUMENRECEPCION, AREC.PRODUCTOPEMEX
  11. FROM ARCHIVOREC AS AREC INNER JOIN PRODUCTO AS PP
  12. ON AREC.PRODUCTOPEMEX = PP.CODIGO
  13. WHERE YEAR (FECHARECEPCION)=2014 AND MONTH (FECHARECEPCION)=6 AND DAY(FECHARECEPCION)=4 AND productopemex=32011
  14. ) AS R,
  15. (SELECT P.CODIGO, P.NOMBRE, AREC.VOLUMENRECEPCION,AREC.PRODUCTOPEMEX
  16. FROM ARCHIVOREC AS AREC INNER JOIN PRODUCTO AS P
  17. ON AREC.PRODUCTOPEMEX = P.CODIGO
  18. WHERE YEAR (FECHARECEPCION)=2014 AND MONTH (FECHARECEPCION)=6 AND DAY(FECHARECEPCION)=4 AND productopemex=32012
  19. ) AS S WHERE (t.codigo=r.codigo AND s.codigo=r.codigo) AND (t.nombre=s.nombre AND s.nombre=r.nom
  20. GROUP BY T.NOMBRE, T.PRODUCTOPEMEX, R.PRODUCTOPEMEX , R.NOMBRE ,S.PRODUCTOPEMEX,S.NOMBRE
  21. ORDER BY T.PRODUCTOPEMEX
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me