【发布时间】:2019-07-07 19:09:28
【问题描述】:
我正在尝试在 Access 中编写一个查询,该查询将返回表中每个站点的值计数,其中值超过指定级别,而且对于没有超过该级别的值的站点,返回指定的值,例如"NA"。
我试过Iif、Switch、Union,子查询,查询不同的查询,但没有运气。我可以得到所有超过该级别的计数,或者所有带有"NA" 的站点都正确但显示其余的总计数,而不仅仅是高于该级别。
例如,在下表中,假设级别 > 10,Houston = "NA",Detroit = 2,Pittsburgh PA = 3。我只是无法让查询的双方都工作。
提前为格式不佳道歉。
+-----------------+-------+
| 1. Site | Value |
+-----------------+-------+
| 2. Houston | 10 |
| 3. Houston | 3 |
| 4. Houston | 0 |
| 5. Detroit | 15 |
| 6. Detroit | 7 |
| 7. Detroit | 4 |
| 8. Detroit | 12 |
| 9. Pittsburgh | 23 |
| 10. Pittsburgh | 2 |
| 11. Pittsburgh | 18 |
| 12. Pittsburgh | 12 |
+-----------------+-------+
【问题讨论】:
-
你能发布一些你的查询吗?
-
发布您尝试过的 SQL、获得的结果以及您期望获得的结果以及示例数据通常是明智的。这有助于我们了解您的问题以及您想要做什么,而无需提出一堆额外的问题。
-
部分问题是数据类型 'NA' 不是数字,而 count 是,并且列不能既是数字又是字符;只是其中之一.. 0 和 NA 一样好用吗?
-
我使用的是 NA 而不是 0,因为 0 表示不存在值(这些值是检测到的化学量),而 NA 表示未发现,但化学物质的含量可能低于测试检测限。差别不大,但这是我们的工作场所报告标准。
-
那么您需要将 sum/count 转换为 varchar 以支持 NA。