SQL在RIGHT OUTER JOIN上返回num_rows


SQL to return num_rows on RIGHT OUTER JOIN

我正在为课堂作业创建一个迷你论坛,并希望根据用户ID返回对特定主题的评论数量(该页面是"我的主题"页面)。

SQL是:

SELECT *
FROM topic
    LEFT OUTER JOIN user ON topic.user_id = user.user_id
    RIGHT OUTER JOIN comment ON topic.topic_id = comment.topic_id
    INNER JOIN avatar ON user.user_avatar = avatar.avatar_id
WHERE user.user_id=1

其中用户ID由$_SESSION返回,但为了这个问题,我将其设置为1。

我的问题是,SQL查询只返回具有注释的主题。我希望列出所有主题,无论是否对其进行了评论,并且能够返回评论表中相应的行数。任何关于我的SQL哪里出了问题的建议都将不胜感激!

edit:忽略头像的内容,这只是一个额外的查询来显示用户的头像(显然,但我认为我应该提到这一点)

你能试试这个吗?

SELECT *
FROM topic
    INNER JOIN user ON topic.user_id = user.user_id
    INNER JOIN avatar ON user.user_avatar = avatar.avatar_id
    LEFT OUTER JOIN comment ON topic.topic_id = comment.topic_id
WHERE user.user_id=1