我是MySQL的新手,但我正在测试并创建一个你在例如:'Facebook'中看到的某种群组功能。我想显示登录用户加入的所有群组帖子的列表,以及它有多少条评论。
表:
group_table - >包含所有组
user_table - >包含所有用户
group_users - >现在,这包含链接到每个组的每个用户
例如:groupuser:1 | groupid:4 | admin:1(bool)
post_table - >包含所有帖子
comment_table - >包含所有评论
所以......这是我的尝试:
SELECT pt.postid, pt.postcont, pt.ctime, gt.groupname,
COUNT(cm.commid) AS commNumber
FROM post_table pt
INNER JOIN group_users gu
ON pt.gid = gu.gid
INNER JOIN group_table gt
ON gu.gid = gt.gid
LEFT JOIN comment_table cm
ON pt.postid = cm.postid
WHERE gu.groupuserid = {user_id}
我希望结果显示:
postid | postcontent | ctime | groupname | commentNumber
1 loremipsum {date} coolgroup如果有任何评论,则显示{nr of comments否则0}
但目前,问题是只检索包含评论的帖子并在结果中显示(commNumber是正确的),但是那些没有评论而不是为commNumber显示'0'的帖子,帖子本身没有被检索