Sql oracle ora-00979 symfony2 doctrine2

Sql oracle ora-00979 symfony2 doctrine2,sql,oracle,symfony,doctrine-orm,dql,Sql,Oracle,Symfony,Doctrine Orm,Dql,我正在构建以下DQL: SELECT partial operador.{id, pmn, neteo}, sum(outcollect.montoTotal) as montoOut, outcollect.periodo as periodo, outcollect.pagado FROM RoamingOperadoresBundle:Operador operador LEFT JOIN operador.operadorHub op

我正在构建以下DQL:

SELECT partial operador.{id, pmn, neteo},                           
sum(outcollect.montoTotal) as montoOut,
outcollect.periodo as periodo,
outcollect.pagado
FROM RoamingOperadoresBundle:Operador operador
LEFT JOIN operador.operadorHub operadorHub 
LEFT JOIN operador.outcollect outcollect
WHERE operador.ishub = 0
AND operador.neteo = 1                          
AND operador.incluirReportes = 1
AND operador.pmn not in('CHLTM', 'CHLCM')
AND operador.id not in(SELECT op.id 
                       FROM RoamingOperadoresBundle:Operador op
                       LEFT JOIN op.operadorHub opHub
                       LEFT JOIN op.outcollect out
                       WHERE (opHub.desde <= out.periodo and (opHub.hasta >= out.periodo or opHub.hasta is null))
                       )
AND operador.activo = 1
GROUP BY operador.pmn, outcollect.periodo ORDER BY operador.pmn
有没有关于如何更改DQL以解决此问题的建议


根据Oracle文档,我正在使用doctrine2、symfony2和OCI8

ORA-00979不是按表达式分组 原因:GROUP BY子句不包含SELECT子句中的所有表达式。选择未包含在组中的表达式 函数,如平均值、计数、最大值、最小值、总和、STDEV或方差,必须 在GROUPBY子句中列出

Action: Include in the GROUP BY clause all SELECT expressions that 
  are not group function arguments.
因此,您需要将
选择列表中的所有表达式/列包含到您的
分组依据中。将SQL查询的
分组依据更改为下面的

group by o0_.pmn, o1_.periodo, o0_.neteo, o1_.pagado, o0_.id
DQL的分组依据

GROUP BY operador.pmn, outcollect.periodo, operador.id, 
operador.neteo, outcollect.pagado
group by o0_.pmn, o1_.periodo, o0_.neteo, o1_.pagado, o0_.id
GROUP BY operador.pmn, outcollect.periodo, operador.id, 
operador.neteo, outcollect.pagado