1
的結果相關我正在努力爲一個學校項目編寫一個論壇,我仍然在努力處理一些查詢。 所以,基本上我有以下表格:SQL查詢,將返回一個表,並計算其他表與第一個
- 論壇(forum_id,FORUM_TITLE,forum_description)
- 主題(topic_id,forum_id(在它屬於論壇),topic_content ...等)
- 帖子(post_id,topic_id(它屬於的主題)等)
我需要的是一個查詢,它將顯示主頁面中的所有論壇並統計所有主題,並將其與並計算屬於所有主題的所有帖子o相關論壇。
這是我想出了迄今:
SELECT
`forums`.*,
COUNT(`topics`.`topic_id`) AS `num_of_topics`,
COUNT(`posts`.`post_id`) AS `num_of_posts`
FROM `forums`
LEFT JOIN `topics` ON `topics`.`forum_id` = `forums`.`forum_id`
LEFT JOIN `posts` ON `posts`.`topic_id` = `topics`.`topic_id`
GROUP BY `forums`.`forum_id`
出於某種原因,該查詢返回,而奇異值。當有一個主題且沒有屬於該主題的帖子時,它正確地返回1爲主題,0爲帖子。但是,當我添加更多相關帖子時,它也會增加主題的數量。基本上,它將主題的數量等同於帖子的數量,所以如果帖子大於0,我總是得到x個主題和x個帖子。
任何想法?
你能爲加起來SQL小提琴未來10倍你的問題與樣本數據集 –
提示:典型的論壇軟件不計算它們。他們只是將它與論壇信息一起存儲。不是直接回答你的問題,而是一個替代方案;) – MueR
我知道。你是絕對正確的。但要告訴我們的老師。他堅信這是正確的方式:) –