我有多個表如何獲得在左另一個表的計數加入
post
id Name
1 post-name1
2 post-name2
user
id username
1 user1
2 user2
post_user
post_id user_id
1 1
2 1
post_comments
post_id comment_id
1 1
1 2
1 3
我使用的是這樣的查詢:
SELECT post.id, post.title, user.id AS uid, username
FROM `post`
LEFT JOIN post_user ON post.id = post_user.post_id
LEFT JOIN user ON user.id = post_user.user_id
ORDER BY post_date DESC
它按預期工作。不過,我希望獲得每篇文章的評論數量。那麼,我該如何修改這個查詢,以便我可以得到評論的數量。
任何想法?
請確保您說明帖子的評論爲零的情況。在您的選擇列表中,使用 ,ISNULL(x.cnt,0)AS comment_count – cortijon 2010-06-02 16:46:36
@MrGumbe - 好點,謝謝。我考慮過這個問題,但不確定他使用的是哪個數據庫,因爲ISNULL不適用於某些數據庫(即使用Oracle,您必須使用NVL)。 – dcp 2010-06-02 16:50:31
沒有ISNULL功能。 MySQL說#1582 - 調用本地函數'ISNULL'時的參數數不正確 – Sinan 2010-06-02 16:59:43