gpt4 book ai didi

mysql - IF 语句按 Doctrine 2 查询 Symfony 2 的子句排序

转载 作者:可可西里 更新时间:2023-11-01 07:18:33 24 4
gpt4 key购买 nike

我正在尝试创建一个显示所有评论的博客,并且用户将能够在回复之前发布的评论时发表评论 no to order 然后在 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

给出错误:[语法错误] 第 0 行,第 515 列:错误:字符串预期结束,得到“CASE”

甚至尝试过正常的方式

ORDER BY IF(c.parentid = 0, c.id, c.parentid), c.createdat ASC

给出错误:[语法错误] 第 0 行,第 515 列:错误:字符串预期结束,得到 '('

当我在正常的 sql 代码(不是 Doctrine )中使用正常的 ORDERY BY IF() 时,它工作正常。

最佳答案

看起来你只是打错了字。您的整体语法是正确的。

ORDER BY CASE WHEN (c.parentid = 0) THEN c.id ELSE .parentid END c.createdat ASC

应该是

ORDER BY CASE WHEN (c.parentid = 0) THEN c.id ELSE c.parentid END, c.createdat ASC

关于mysql - IF 语句按 Doctrine 2 查询 Symfony 2 的子句排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com