学说 2 SQL Server 查询 (MSSQL / SQLSRV) (WiTH 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
现在,我插入列 'cci. 'select'和'GroupBy'中的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
你有什么想法吗?谢谢大家!!! ;)
Hi Guys! Thank you for the quick response of all.
I am working with Doctrine 2. In it, I did the following query:
$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();
Return correct (grouped) for echo 'objRowid':
2
4
11
Now, I insert the column 'cci.cciRowid' in 'select' and 'GroupBy':
$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();
Return without group, repeating the value '4 ':
2
4
4
11
Do you have any idea? Thanks guys!!! ;)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的第二个查询选择两列,但仅在输出中显示一列。我怀疑 obj.objRowid 的 4 是重复的,因为当 obj.objRowid 为 4 时,cci.cciRowid 有两个不同的值。
You're second query selects two columns, but you only show one in your output. I suspect the 4 is repeating for
obj.objRowid
because there are different two values forcci.cciRowid
whenobj.objRowid
is 4.