嗨,大家好!感谢大家的快速反应。 我正在使用Doctrine 2.在其中,我做了以下查询:
$qb = $em->createQueryBuilder()
->select('obj.objRowid')
->from('MapAdminCaminhoCriticoIndicadores', 'cci')
->innerJoin('cci.cciIndicadordr', 'ind')
->innerJoin('cci.cciCaminhodr', 'ccr')
->innerJoin('ind.indObjetivodr', 'obj')
->groupBy('obj.objRowid')
->getQuery();
为echo'objRowid'返回正确(已分组):
2
4
11
现在,我在'select'和'GroupBy'中插入'cci.cciRowid'列:
$qb = $em->createQueryBuilder()
->select('obj.objRowid, cci.cciRowid')
->from('MapAdminCaminhoCriticoIndicadores', 'cci')
->innerJoin('cci.cciIndicadordr', 'ind')
->innerJoin('cci.cciCaminhodr', 'ccr')
->innerJoin('ind.indObjetivodr', 'obj')
->groupBy('obj.objRowid, cci.cciRowid')
->getQuery();
不带群组返回,重复值'4':
2
4
4
11
你有什么想法吗?多谢你们!!! ;)
答案 0 :(得分:1)
您的第二个查询选择了两列,但您只在输出中显示一列。我怀疑{4}正在重复obj.objRowid
,因为当cci.cciRowid
为4时,obj.objRowid
有两个不同的值。