sql - 即使没有结果,如何在分组的 MS Access 报告中显示类别
问题描述
我在 Microsoft Access 中有一个基于显示多个结果的查询的报告。这些结果在访问报告中按类别分组。有时,查询中的过滤器/条件会导致某些类别没有结果,从而导致该类别不会显示在报告中。
如何让类别仍显示在报告中,并可能在类别组下方显示“未找到”或等效声明(如果适用)?我想要的最终结果是显示所有类别,无论是否有结果。
解决方案
我会说你需要一个 UNION 查询。
假设您对报告的原始查询是qryData
SELECT Category, Data1, Data2
FROM tblData
WHERE foo = bar
要查找查询中不存在的所有类别,您可以使用以下命令:
SELECT c.Category
FROM tblCategory AS c LEFT JOIN qryData AS d ON c.Category = d.Category
WHERE d.Category IS NULL
对于报告,您将其结合起来,例如
SELECT Category, Data1, Data2
FROM qryData
UNION ALL
SELECT c.Category, 'None found' AS Data1, NULL AS Data2
FROM tblCategory AS c LEFT JOIN qryData AS d ON c.Category = d.Category
WHERE d.Category IS NULL
ORDER BY Category, Data1
推荐阅读
- web-crawler - 列出来自某个域的所有网站
- spring-boot - Spring Boot 应用程序不以 Maven 和空手道开头
- sql - 使用多个聚合函数查找每个组的最后一条记录 - SQLite
- kotlin - ForkJoinPool 和 Kotlin 协程
- sql - 如何通过修改现有查询得到想要的结果?
- azure - 不将 CERT 绑定到 azure 流量管理器(仅在 HTTPS 应用服务之前)主机名是否安全?
- ibm-watson - Watson 自然语言理解
- python - 如何获取包含子目录的目录中文件的文件路径?
- javascript - 如何在 Typescript 中正确导入 MomentJS 以解决以下错误:“Type 'typeof moment' 没有兼容的调用签名。”
- javascript - Brave 浏览器上的 Dropzonejs - 数据图像预览不起作用