我正在为课堂作业创建一个迷你论坛,并希望根据用户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