查询不返回空品牌字段
Posted
技术标签:
【中文标题】查询不返回空品牌字段【英文标题】:Query doesn't return empty Brand fields 【发布时间】:2013-07-17 00:03:42 【问题描述】:如果我在“品牌”中有一个空白字段,我无法从查询中的表中提取数据并返回所有结果。
我有两个查询,这是第一个,它提取基本相同的数据,但只返回品牌和领导者的 ID 号,而不是相关表中的解析名称。
SELECT Review.ID, Review.Claim, [TSO Leader].LeaderID, Review.Consultant, Review.TSO, Review.[Claim Review Date], Review.Brand, Review.[Discussion Point], Review.[Review Notes], Review.[Review Decision], Review.Categories, Review.[Product Type]
FROM [TSO Leader] INNER JOIN Review ON [TSO Leader].LeaderID = Review.[TSO Leader]
ORDER BY [TSO Leader].LeaderID;
此查询提取已解析的“TSO Leader”和“Brand”,但如果品牌为空,则不会返回结果。我如何编辑它以显示品牌字段,即使它们为空。
这是第二个不从 Brand 中提取空字段的查询。
SELECT Review.ID, Review.Claim, Review.Consultant, Review.TSO, Review.[Claim Review Date], Review.[Discussion Point], Review.[Review Notes], Review.[Review Decision], Brand.Brand, Categories.Reason, [TSO Leader].LeaderName
FROM [TSO Leader] INNER JOIN (Categories INNER JOIN (Brand INNER JOIN Review ON Brand.BrandID=Review.Brand) ON Categories.CategoriesID=Review.Categories) ON [TSO Leader].LeaderID=Review.[TSO Leader];
编辑:来自 Mitch 下面的评论试图通过外部连接扩展结果集,但我收到语法错误。这是更新自。
FROM [TSO Leader] INNER JOIN (Categories INNER JOIN (Brand FULL OUTER JOIN Review ON Brand.BrandID=Review.Brand) ON Categories.CategoriesID=Review.Categories) ON [TSO Leader].LeaderID=Review.[TSO Leader];
【问题讨论】:
内部联接会做到这一点 - 请参阅 codinghorror.com/blog/2007/10/… @Mitch 所以外连接似乎是解决方案 会的,是的。但是,我不想仅通过链接添加答案。 如果只是可能丢失的评论记录,左连接(或左外连接,我忘记了确切的语法)应该可以工作 【参考方案1】:我能够通过右连接检索记录。 Access 一直抱怨在我有正确的地方放置一个外连接是一个语法错误。看来访问应该使用外部联接,因为我从这里的文档中读到 http://office.microsoft.com/en-us/access-help/creating-an-outer-join-query-in-access-HA001034555.aspx
SELECT Review.ID, Review.Claim, Review.Consultant, Review.TSO, Review.[Claim Review Date], Review.[Discussion Point], Review.[Review Notes], Review.[Review Decision], Brand.Brand, Categories.Reason, [TSO Leader].LeaderName
FROM [TSO Leader] INNER JOIN (Categories INNER JOIN (Brand RIGHT JOIN Review ON Brand.BrandID=Review.Brand) ON Categories.CategoriesID=Review.Categories) ON [TSO Leader].LeaderID=Review.[TSO Leader];
【讨论】:
以上是关于查询不返回空品牌字段的主要内容,如果未能解决你的问题,请参考以下文章