gpt4 book ai didi

orm - Coldfusion ORM 计数多对多

转载 作者:行者123 更新时间:2023-12-04 21:46:14 29 4
gpt4 key购买 nike

我有可以分配许多类别的帖子。所以它是一个多对多的关系。

我想计算每个类别中有多少帖子(符合特定标准),然后对结果进行排序。

我有:

Select ( Select count(post.id)
From post
Join category as postcat
where postcat.id = category.id
and (post.deleted is null or post.deleted = false)
and ...
), category
From category
order by ????? DESC, category.name

我想按计数列排序。但我不能在上面声明别名。它只是忽略我添加的任何别名。然后抛出一个sql错误说:

java.sql.SQLSyntaxErrorException: [Macromedia][SQLServer JDBC Driver][SQLServer]Invalid column name 'numPosts'.



这是我尝试过的:
         ...
and (post.deleted is null or post.deleted = false)
and ...
) as numPosts, category
From category
order by numPosts DESC, category.name

我检查了 HQL 运行时日志,并没有在计数中设置“as numPosts”。我不知道如何解决这个问题。

最佳答案

我还没有想出一个解决方案,但我有一个解决办法。

SELECT (SELECT count(post.id)
FROM post
JOIN post.category postCategory
WHERE postCategory.id = category.id
AND (post.deleted IS NULL OR post.deleted = <cfqueryparam value="#false#">)
), category
FROM category
order by 1 desc, category.name

我只是按列号排序,而不是按别名排序。这似乎有效。我不高兴。但它有效。

关于orm - Coldfusion ORM 计数多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14448315/

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