我正在构建一个简单的评论网站应用程序,需要一些SQL查询帮助。
有3个表(主题,评论,用户)。我需要一个SQL查询来从所有3个表中选择数据。
'Topics'表是父表,'Comments'表包含子记录(每个父表从0到100个记录。
第三个表'Users'包含所有用户的用户信息。
以下是3个表格的字段:
Topics (topicID, strTopic, userID)
Comments (commentID, topicID, strComment, userID)
Users (userID, userName)
我试过了:
SELECT *
FROM Topics
Inner Join Comments ON Topics.topicID = Comments.topicID
Inner Join Users ON Topics.userID = Users.userID
但这不能正常工作,因为有多个主题且用户信息未加入“注释”表。任何帮助将不胜感激。
答案 0 :(得分:1)
您应该使用“评论”左侧加入以获取没有评论的主题,并且还会与用户一起加入主题和评论,以获取两者的相关用户信息。
SELECT *
FROM Topics t
INNER JOIN Users tu on tu.userID = t.userID
LEFT JOIN Comments c on c.topicID = t.topicID
LEFT JOIN User cu on cu.userID = c.userID
答案 1 :(得分:0)
您需要两次加入用户表。
SELECT *
FROM Topics
INNER JOIN Comments ON Topics.topicID = Comments.topicID
INNER JOIN Users AS u1 ON Topics.userID = u1.userID
INNER JOIN Users AS u2 ON Comments.userID = u2.userID