Erro na subconsulta aninhada no DQL: a classe '(' não está definida
Eu tenho um DQL como abaixo:
SELECT at, count(at.id) FROM AccountTriple at JOIN at.property p JOIN at.account ac WHERE p.create_analytics = '1' GROUP BY at.property, at.value, ac.service
Como você pode ver, ele tem três junções. Como 'at' e 'ac', ambos têm grande quantidade de dados. Na tentativa de otimizá-lo, estou tentando mover a verificação "p.create_analytics = '1'" antes de ingressar em 'ac' para fornecer um conjunto de dados menor para ingressar. Estou tentando conseguir algo como isto:
SELECT at, count(at.id) FROM ( SELECT at FROM AccountTriple at JOIN at.property p WHERE p.create_analytics = '1' ) JOIN at.account ac GROUP BY at.property, at.value, ac.service
Mas, de alguma forma, minha sintaxe não está funcionando. Uma mensagem de erro é exibida como abaixo:
Erro semântico] linha 0, col 29 próximo a '(SELECT at FROM': Erro: Class '(' não está definido.
Também não encontrou exemplo semelhante em nenhum outro lugar. Alguém pode ajudar a corrigir esta consulta DQL para começar a trabalhar? Desde já, obrigado.