Para não deixar dúvidas, pois as vezes acontece, seria mais correto didáticamente usar o AS para os "apelidos", por exemplo:
SELECT pr.nome, x.idproduto, x.idpedido
FROM (
SELECT ip.idpedido, ip.idproduto
From pedidos AS p
INNER JOIN itenspedidos As ip
ON p.id = ip.idpedido
WHERE strftime('%m', p.datahorapedido) = '10'
) AS x
RIGHT JOIN produtos AS pr
ON pr.id = x.idproduto;