我目前正在尝试开发一个论坛。现在我遇到了一个小障碍。我在我的数据库中有四张表; “类别”,“论坛”,“主题”和“回复”。他们都有一个ID,一个父母身份和一个名字。COUNT,GROUP BY,INNER JOIN,php,mysql
我现在的问题是我应该如何存储和获取每个类别和论坛的主题和答复的数量。起初我想将所有主题和回复保存在每个类别和论坛中,并且将所有回复保存在每个主题中。
但这是我宁愿尽量避免看到的事情,因为我必须为每次回复做1次插入和3次更新; 1到类别,1到论坛,1到主题,最后是回复本身,一个插入。
所以不是我想,如果它在某种程度上是可能的(如果有的话如何),以与COUNT查询,GROUP BY和INNER JOIN沿线
SELECT *
FROM `categories`
JOIN (COUNT (*)
FROM `topics`
GROUP BY `parent_id`
WHERE `parent_id` = `categories`.`id`) as `amount_of_topics`
JOIN (COUNT (*)
FROM `topics`
GROUP BY `parent_id`
WHERE `parent_id` = `topics`.`id`) as `amount_of_replies`
只是,
东西我不不按照我想要的方式工作。
因此,要获取所有回复并将它们计入特定论坛,连接回复和获得的论坛是回复的parent_id属于parent_id属于论坛的主题。
您的问题不明确。您可以将它作为数据结构问题(按照第二段)或作为查询问题(按照后续段落)来重述吗? – 2012-07-23 14:12:40
有两个问题,所以这可能是为什么;我为不够清洁而道歉。 a)是否有像我这样粘贴的查询可能?如果是这样如何?我想加入每个论坛的主题和回复数量。 b)如果不可能,那么解决方案将主题和答复作为整数存储在类别和论坛表格中? – Emz 2012-07-23 14:25:38