2012-10-22 27 views
4

我有這個疑問:如何使用「的情況下,當」查詢

$em = $this->getDoctrine()->getEntityManager(); 
$query = $em->createQuery("SELECT u,COUNT(u) AS nb_renouvellement, 
    SUM(CASE WHEN f.`Criticity` = 'M' THEN 1 ELSE 0 END) nb_majeur, 
    SUM(CASE WHEN f.`Criticity` = 'C' THEN 1 ELSE 0 END) nb_critique 
    FROM AdminBlogBundle:AlertesBss2 f 
GROUP BY f.BSC"); 
$listes = $query->getResult(); 

,但我有這個錯誤

[Syntax Error] line 0, col 45: Error: Expected Literal, got 'CASE'

+2

[Symfony2 + Doctrine + case語句的可能重複:如何在DQL或其他語句中執行case語句?](http://stackoverflow.com/questions/8974007/symfony2-doctrine-case-statements-how-to -d-case-statement-in-dql-or-other) – MatBailie

+0

w帽子是「u」,它在SELECT中但不在GROUP BY – Prasanna

+0

請參閱[我的答案](http://stackoverflow.com/a/9795412/1218997)以供參考。 –

回答

-1

Criticity不應該加引號,它應該是由富集團