【问题标题】:MS Access - Query Using GROUPBY - Show Groups with Zero ValuesMS Access - 使用 GROUPBY 查询 - 显示具有零值的组
【发布时间】:2020-06-27 23:48:41
【问题描述】:

我有以下疑问:

SELECT i.[Race / Ethnicity], NZ(Count(i.[Race / Ethnicity]),0) AS [Count Ethnicity]
FROM Information AS i 
LEFT JOIN Visits AS v 
ON i.[Customer ID] = v.[Customer ID]
WHERE (Month(v.[Visit Date]) = [Forms]![Report Generator]![month_box_rpt] 
       AND Year(v.[Visit Date]) = [Forms]![Report Generator]! 
       [year_box_rpt]) and (Month(i.[Signup Date]) = [Forms]![Report Generator]![month_box_rpt] AND Year(i.[Signup Date]) = [Forms]![Report Generator]![year_box_rpt])
GROUP BY (i.[Race / Ethnicity]);

它从表单中获取月份 ([month_box_rpt]) 和年份 ([year_box_rpt]) 值,并与其中一个表 ([Visit Date]) 中的值的月份和年份值进行比较,并返回不同人群的计数种族 (GROUP BY (i.[Race / Ethnicity]))。

查询有效。但是,如果有零个记录满足指定条件,则在运行查询时我会得到一个空白返回。

如果没有符合标准的种族的人,我如何获得包含我的每个种族和零值的结果?

例子:

Race / Ethnicity         Count

    Asian                 0
    Black                 0 
    White                 0

或(如果某些组有值):

Race / Ethnicity         Count

    Asian                 0
    Black                 3 
    White                 2

现在上面的查询返回:

Race / Ethnicity         Count

或:

Race / Ethnicity         Count

    Black                 3 
    White                 2

我相信它涉及到一个子查询,并且已经尝试了几个,但都无法让它工作。

提前感谢您的指导。

【问题讨论】:

  • 要么您需要每个种族/日期的 0 值虚拟记录,要么加入(LEFT 或 RIGHT,不是 INNER)GROUP BY 查询到种族表。

标签: ms-access group-by subquery


【解决方案1】:

Left 将聚合查询的结果与另一个表或查询连接起来,该表或查询包含每个 Ethnicity 值的单行,没有其他内容。加入 Ethnicity = Ethnicity

【讨论】:

  • 根据定义,左连接将包含连接语句左侧提到的表中的所有行,因此这应该是您的新表。因此,简单的方法是保存您的工作聚合查询。确保该聚合查询中的字段之一是种族。然后执行: select * from NewEthnicityTable n left join SavedAggregateQuery s on n.ethnicity = s.ethnicity
  • 注意:聚合查询中缺失的种族在加入后将有空值,而不是 0。如果/当你让加入正常工作时,有几种方法可以获得 0。
  • 我想我需要查看所涉及表的确切结构以及聚合查询的输出以提供进一步帮助。听起来您在聚合查询中没有可以轻松匹配您创建的新种族表的字段。如果您更新您的问题以包含这些详细信息,也许我可以提供查询或建议如何修改表格。
  • 不应该有任何 where 条件放在左连接到新的种族表,只在聚合查询内。也许您正在使用 where 子句中的某些内容从最终答案中过滤出空结果,很难说,我想象这个问题的方式应该像我描述的那样工作,所以有些东西是关闭的。
  • 试试看这个答案,好像是同一个问题:stackoverflow.com/questions/62715135/need-simple-sql-direction
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
相关资源
最近更新 更多