【发布时间】:2014-03-29 14:41:24
【问题描述】:
我有三个表:Comments、Users 和 CommentsHelpfulness。
用户可以提交多个 cmets,这些 cmets 存储在 Comments 表中。
CommentsHelpfulness 包含三列:UserID、CommentID 和一个“Helpful”布尔值。每个用户都可以指出每条评论是否有用,这将在 CommentsHelpfulness 表中创建一个条目。
我想要一个查询,它可以为我提供所有评论 ID,以及提交它的用户的名称,并显示当前登录的用户是否觉得它有帮助、没有发现它有帮助或没有说任何关于它的信息。因此,当前用户未发表意见的评论 ID 仍应输出,只是没有有用的布尔值。
对我来说,这听起来应该使用左连接来完成:
SELECT Comments.ID, Users.Nom, CommentsHelpfulness.Helpful
FROM (Comments INNER JOIN Users
ON Comments.UserID = Users.ID)
LEFT JOIN CommentsHelpfulness
ON (CommentsHelpfulness.CommentID = Comments.ID
AND (CommentsHelpfulness.UserID = ?))
不幸的是,如果没有 CommentsHelpfulness 表中的条目,这不会输出评论 ID。为什么这不起作用?是因为Access吗?
【问题讨论】:
标签: sql ms-access join left-join