Depois de algumas pesquisas aqui no SO cheguei a esta solução. Tente adicionar
->from('YourEntityNameForP', 'p')
->from('YourEntityNameForShop', 'shop')
para
createQueryBuilder
Já que não estou familiarizado nem com Symfony 2, nem com Doctrine 2 e estou apenas tentando ajudar!
Créditos aqui:Doutrina:Não é possível selecionar entidade por meio de variáveis de identificação sem escolher pelo menos um alias de entidade raiz