我有三个表:评论,用户和评论帮助。访问SQL LEFT JOIN不返回结果
用户可以提交几条评论,这些评论存储在评论表中。
评论帮助有三列:UserID,CommentID和一个“有用的”布尔值。如果每个用户觉得有用,每个用户都可以指出每个评论,这将在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 = ?))
不幸的是,这并不输出评论的ID没有在CommentsHelpfulness表中的条目。为什么这不起作用?是因为Access吗?
对不起,我试图让查询尽可能短,我的问题,把一些字段的了,我需要。我实际上也需要用户表中的用户名。我编辑了我的问题。 – user3475924
但是你说得对,如果我把INNER JOIN拿出来就行了。我只需要找到一种方法来从Users表中获取我需要的数据。 – user3475924
事实证明,问题只是我添加参数的方式,查询实际上工作正常。谢谢您的帮助! – user3475924