我有一个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;
查询正确运行,并正确返回所有带事件的县。因此发生事件的县的号码正确,但是没有发生事件的县却没有显示(我知道这是可以预料的,但是我如何“覆盖”呢?)
答案 0 :(得分:0)
首先,您需要一个包含所有希望在输出中看到的县的表-如果表[FOCUS-CGDataComplete_By_Month/Year]
的任何记录中都没有出现县,则该表显然不能报告不了解的县。
配有一个包含所有可能县的表格,您可以使用left join
输出此表中的所有县以及与每个县相关联的[FOCUS-CGDataComplete_By_Month/Year]
表中显示的记录数。 / p>
这种查询可能类似于以下内容:
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
是一个包含county
字段的所有可能值的表-您应该重命名它以适合数据库中该表的名称。