繁体   English   中英

SQL子查询IN SELECT [Symfony3]

[英]SQL Subquery IN SELECT [Symfony3]

我有带有以下字段的表操作:

  • idAction
  • 衣衫ture
  • 日期

我想遍历并显示DB + idAction中所有idAction的列表,其中Cloture = 0按同一日期分组(两者都)。

我尝试了以下方法。 但这是行不通的。 谁能帮我?

$query = $this->getEntityManager()->createQuery(

'SELECT COUNT(a.idAction) AS nmbreAction , week(a.dateOuverture) AS week,( SELECT COUNT(c.idAction) , week(c.dateOuverture) FROM ActionActionBundle:Action c 
WHERE c.cloture = 0 ) AS nmbreRetard FROM ActionActionBundle:Action a 
GROUP BY week');

嗯,您提出的问题是缺少很多信息。 这是您需要的吗?

SELECT COUNT(a.idAction) AS nmbreAction ,
       week(a.dateOuverture) AS week,
       (SELECT COUNT(c.idAction) 
        FROM ActionActionBundle:Action c
        WHERE c.cloture = 0 
          and week(c.dateOuverture) = week(a.dateOuverture)) AS nmbreRetard 
FROM ActionActionBundle:Action a
GROUP BY week(a.dateOuverture)

在选择列表的子查询\\相关查询中,您不能选择多于一列,这可能是在错误消息中向您显示的。

编辑:更好地做到这一点:

SELECT COUNT(a.idAction) AS nmbreAction ,
       week(a.dateOuverture) AS week,
       COUNT(CASE WHEN a.cloture = 0 THEN 1 END) as nmbreRetard
FROM ActionActionBundle:Action a
GROUP BY week(a.dateOuverture)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM