首页 > 解决方案 > 来自同一表的 MS Access 子查询

问题描述

我目前正在研究一个我们收集客户反馈的访问数据库。

我有一个具有以下结构和数据的表:

表数据和结构

我想显示以下结果:

结果

实际上,我想要的是一个 MS 访问请求,它针对我表中的每个日期值显示与“date_import”列(结果的第二列)上相同日期匹配的记录数量以及匹配的记录数量此标准在“date_answered”列(结果的第 3 列)上。

我不知道如何做到这一点,因为所有子查询都应该相互了解。

有没有人遇到过这个问题并且可以帮助我?

提前致谢,

PS:我使用的是 2016 版的 MS Access,但我很确定我想要做的事情在以前版本的 Access 中也可以实现,这是我添加的几个标签。

标签: sqlms-accessms-access-2016

解决方案


嗯。. . 我认为这会起作用:

select dte, sum(is_contact), sum(is_answer)
from (select date_import as dte, 1 as is_contact, 0 as is_answer
      from t
      union all
      select date_answers, 0 as is_contact, 1 as is_answer
      from t
     ) t
group by dte;

并非所有版本的 MS Access 都允许union all在该FROM子句中。如果这是一个问题,您可以创建一个视图,然后从该视图中进行选择。


推荐阅读