我的职位可以被分配给许多类别。所以这是一种多到多的关系。
我想得到每个类别中有多少个帖子(符合某个标准),然后对结果进行排序。
我有:
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: MacromediaSQLServerInvalid列名“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‘。我不知道该怎么绕开这件事。
发布于 2013-01-23 03:57:40
我还没有想出解决办法,但我确实有工作要做。
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我只是按列号排序,而不是使用别名进行排序。这似乎很管用。我对此不满意。但很管用。
https://stackoverflow.com/questions/14448315
复制相似问题