在没有结果的 MS 访问查询中返回值

Returning values in an MS access query that have no results

我有一个 MS Access 2013 查询,它会自动运行并显示某些事件在每个县发生的次数。

问题是一些县通常没有任何这些事件,因此查询只显示发生事件的县。

即使值为 0,我也需要报告列出 所有 个县。我知道我在这里遗漏了一些简单的东西,但我想不通,我为找到答案所做的所有研究都让我找不到答案。

我继承了这个数据库,所以它没有优化设计。我对访问数据库也比较陌生。

我已经检查了设计和 SQL 视图中查询的所有选项(也许我遗漏了它。)

下面是查询的完整代码:

SELECT [FOCUS-CGDataComplete_By_Month/Year].COUNTY, Count([FOCUS- 
CGDataComplete_By_Month/Year].COUNTY) AS CT
FROM [FOCUS-CGDataComplete_By_Month/Year]
GROUP BY [FOCUS-CGDataComplete_By_Month/Year].COUNTY
ORDER BY Count([FOCUS-CGDataComplete_By_Month/Year].COUNTY) DESC;

查询运行正常,returns 所有发生事件的县都正常。所以发生事件的县有正确的数字,但没有事件的县没有显示(我知道这是预期的,但我如何 'override' 那个?)

首先,您需要一个 table,其中包含您希望在输出中看到的所有可能的县 - 如果有些县没有出现在 table 的任何记录中 [FOCUS-CGDataComplete_By_Month/Year],那么这个table显然不能报告它不知道的县。

配备包含所有可能县的 table,您可以使用 left join 输出此 table 中的所有县,以及出现在 [FOCUS-CGDataComplete_By_Month/Year] table 与每个县关联。

此类查询可能类似于以下内容:

select c.county, count(f.county) as ct
from countytable c left join [focus-cgdatacomplete_by_month/year] f on c.county = f.county
group by c.county
order by count(f.county) desc

在这里,我假设 countytable 是一个 table,其中包含 county 字段的所有可能值 - 您应该重命名它以适合此 table 的名称在你的数据库中。