我的MySQL語句有問題。我需要一個查詢來計算用戶創建的評論數量和主題數量。我的表結構是這樣的:MySQL連接3個表和COUNT()不工作
Table 'users'
-------------
user_id
user_name
...
Table 'topics'
--------------
topic_id
topic_user_id
...
Table 'topiccomments'
---------------------
topiccomment_id
topiccomment_user_id
...
到目前爲止,我已經能夠生產此查詢:
SELECT
u.user_id,
u.user_name,
COUNT(t.topic_user_id) as topic_count,
COUNT(tc.topiccomment_user_id) as topiccomment_count
FROM
users as u
JOIN topiccomments as tc ON u.user_id = tc.topiccomment_user_id
JOIN topics as t ON u.user_id = t.topic_user_id
WHERE
u.user_id = t.topic_user_id AND
u.user_id = tc.topiccomment_user_id
GROUP BY
u.user_id
執行此查詢,但「TOPIC_COUNT」和「topiccomment_count」值完全錯誤,我不明白爲什麼。
我希望這裏有人能幫助我嗎?
最好將其作爲兩個單獨的查詢來完成。如果您確實需要一個查詢,那麼創建兩個子查詢。 – mdma 2010-07-28 15:58:38
我需要它在一個查詢中,因爲我需要能夠對'topic_count'和'topiccomment_count'字段進行mysql排序... 子查詢的查詢將如何看起來像?我沒有任何經驗與子查詢... – brtdv 2010-07-28 16:01:32
也許你可以給一個例子與數據,錯誤和預期的結果 – Nicolas78 2010-07-28 16:01:34