Doctrine 2 SQL Server查询(MSSQL / SQLSRV)(WiTH DISTINCT)

时间:2011-10-25 19:35:31

标签: php sql-server doctrine group-by distinct

嗨,大家好!感谢大家的快速反应。 我正在使用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

你有什么想法吗?多谢你们!!! ;)

1 个答案:

答案 0 :(得分:1)

您的第二个查询选择了两列,但您只在输出中显示一列。我怀疑{4}正在重复obj.objRowid,因为当cci.cciRowid为4时,obj.objRowid有两个不同的值。