我正在尝试改进我的查询。
我有这张桌子:
id lang_code language
1 fr-1 french
2 fr-2 french
3 en-1 english
4 en-2 english
5 NULL espagnol
6 NULL chineese
我做了这个查询
$langues = $this->getDoctrine()->getManager()
->createQuery('SELECT DISTINCT c FROM AVCMediasBundle:Langue c GROUP BY c.language')
->getResult()
;
我有这个结果,暂时没关系
id lang_code language
2 fr-2 french
4 en-2 english
5 NULL espagnol
6 NULL chineese
但现在我正在尝试改进此查询。我需要执行相同的操作,但NULL
列
lang_code
结果
结果必须是这样的:
id lang_code language
2 fr-2 french
4 en-2 english
我累了,但有些问题......
$langues = $this->getDoctrine()->getManager()
->createQuery('SELECT DISTINCT c FROM AVCMediasBundle:Langue c GROUP BY c.language , WHERE c.langCode IS NOT NULL')
->getResult()
;
我该怎么办? thx:)
答案 0 :(得分:1)
您的DQL
中的条款顺序错误(顺便说一下sql
这也是错误的) - GROUP BY
必须在查询结束后WHERE
}
试试这个:
$langues_dispo_google_speech = $this->getDoctrine()->getManager()
->createQuery('SELECT DISTINCT c FROM AVCMediasBundle:Langue c WHERE c.langCode IS NOT NULL GROUP BY c.language')
->getResult()
;
检查this以查看正确的sql语法