Lou*_*wki 4 mysql doctrine symfony
我试图做一个显示所有评论的博客,用户将能够在以前发布的评论中发表回复评论否订购然后在sql查询中,以便他们将按顺序显示我不断收到错误.
SELECT c.userid, c.comment, c.reply, u.username, c.createdat, c.image, c.username as
ComUser FROM Bundle:Comments c LEFT JOIN Bundle:Users u WITH c.userid = u.id
WHERE c.articleid = 1 ORDER BY (CASE WHEN (c.parentid = 0) THEN c.id ELSE c.parentid END)
c.createdat ASC
Run Code Online (Sandbox Code Playgroud)
给出错误:[语法错误]第0行,第515行:错误:字符串的预期结束,得到'CASE'
甚至试过正常的方式
ORDER BY IF(c.parentid = 0, c.id, c.parentid), c.createdat ASC
Run Code Online (Sandbox Code Playgroud)
给出错误:[语法错误]第0行,第515行:错误:字符串的预期结束,得到'('
当我在正常的sql代码(不是教条)中使用正常的ORDERY BY IF()时,它工作正常.
看起来你只是有一个错字.您的整体语法是正确的.
ORDER BY CASE WHEN (c.parentid = 0) THEN c.id ELSE .parentid END c.createdat ASC
Run Code Online (Sandbox Code Playgroud)
应该
ORDER BY CASE WHEN (c.parentid = 0) THEN c.id ELSE c.parentid END, c.createdat ASC
Run Code Online (Sandbox Code Playgroud)