Mysql
 sql >> Base de données >  >> RDS >> Mysql

Doctrine 2 DQL CASE QUAND dans Count

Je l'ai trouvé par moi-même après des heures d'essais et de recherches, ça marche avec ce DQL :

$dql = 'SELECT t, SUM(CASE WHEN p.image = 1 THEN 1 ELSE 0 END) AS numImage
                    FROM Bundle\Entity\Turn t
                    JOIN t.pois p
                    GROUP BY t.id
                    ORDER BY numImage DESC;  

Important que vous devez utiliser SUM au lieu de COUNT