Después de algunas investigaciones aquí en SO llegué a esta solución. Intenta agregar
->from('YourEntityNameForP', 'p')
->from('YourEntityNameForShop', 'shop')
para createQueryBuilder
Ya que no estoy familiarizado ni con Symfony 2, ni con Doctrine 2 y solo trato de ayudar.
Créditos aquí:Doctrine:No se puede seleccionar entidad a través de variables de identificación sin elegir al menos un alias de entidad raíz