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 originalSELECT T.PRODUCTOPEMEX, T.NOMBRE,
SUM(T.VOLUMENRECEPCION) AS VOLUMENDIESEL, R.PRODUCTOPEMEX, R.NOMBRE,
SUM(R.VOLUMENRECEPCION) AS VOLUMENMAGNA, S.PRODUCTOPEMEX, S.NOMBRE,
SUM(S.VOLUMENRECEPCION) AS VOLUMENPREMIUM
FROM
(SELECT P.CODIGO, P.NOMBRE, AREC.VOLUMENRECEPCION,AREC.PRODUCTOPEMEX FROM ARCHIVOREC AS AREC INNER JOIN PRODUCTO AS P
ON AREC.PRODUCTOPEMEX = P.CODIGO
WHERE YEAR (FECHARECEPCION)=2014 AND MONTH (FECHARECEPCION)=6 AND DAY(FECHARECEPCION)=4 AND productopemex=34006
) AS T ,
(SELECT PP.CODIGO, PP.NOMBRE, AREC.VOLUMENRECEPCION, AREC.PRODUCTOPEMEX
FROM ARCHIVOREC AS AREC INNER JOIN PRODUCTO AS PP
ON AREC.PRODUCTOPEMEX = PP.CODIGO
WHERE YEAR (FECHARECEPCION)=2014 AND MONTH (FECHARECEPCION)=6 AND DAY(FECHARECEPCION)=4 AND productopemex=32011
) AS R,
(SELECT P.CODIGO, P.NOMBRE, AREC.VOLUMENRECEPCION,AREC.PRODUCTOPEMEX
FROM ARCHIVOREC AS AREC INNER JOIN PRODUCTO AS P
ON AREC.PRODUCTOPEMEX = P.CODIGO
WHERE YEAR (FECHARECEPCION)=2014 AND MONTH (FECHARECEPCION)=6 AND DAY(FECHARECEPCION)=4 AND productopemex=32012
) AS S WHERE (t.codigo=r.codigo AND s.codigo=r.codigo) AND (t.nombre=s.nombre AND s.nombre=r.nom
GROUP BY T.NOMBRE, T.PRODUCTOPEMEX, R.PRODUCTOPEMEX , R.NOMBRE ,S.PRODUCTOPEMEX,S.NOMBRE
ORDER BY T.PRODUCTOPEMEX