【发布时间】:2013-02-06 19:42:54
【问题描述】:
我有 2 个表,一个论坛主题表和一个论坛 cmets。
我正在尝试获取所有论坛主题的列表,并计算每个主题中有多少 cmets。
cmets 表包含每个主题的论坛主题的 PK。
我试过了
SELECT
`forum_topics`.`topic_id`,
`forum_topics`.`topic_name`,
`forum_topics`.`topic_info`,
`forum_topics`.`topic_img`,
`forum_topics`.`creation_date`,
`forum_topics`.`is_deleted`
FROM
`forum_topics`
JOIN
`forum_comments`
ON
`forum_comments`.`topic_id` = `forum_topics`.`topic_id`
GROUP BY
`forum_topics`.`topic_id`
HAVING
COUNT(`forum_comments`.`comment_id`) >= 0
AND `forum_topics`.`review_status` = 'reviewed';
这似乎没有返回任何结果,但也没有错误
希望有人能帮忙
【问题讨论】:
-
您的数据库结构示例?
-
我在您的查询中没有发现任何问题。你确定你在
forum_comments有一些记录,右边topic_id? -
您确定状态正确吗?
-
不是答案,而是一些观察:
HAVING COUNT条件应该是不必要的,因为您已内连接到forum_comments,而review_status = 'reviewed'条件应该在where子句中,不是having子句;不仅如此,如果您想要 所有 个主题(不仅仅是所有 已审核 个主题),您可能还是应该删除该条件。 -
我还没有任何 cmets 因此我为什么尝试 >= 0
标签: php mysql join count having