基于两表 MS Access 的数据排除

Posted

技术标签:

【中文标题】基于两表 MS Access 的数据排除【英文标题】:Data exclusions based on two-tables MS Access 【发布时间】:2019-04-26 16:07:44 【问题描述】:

我有表 A,其中包含基于读取日期的所有数据。例如:

Read Date----Data
1/1/2016-----3
1/2/2016-----10
1/3/2016-----42
1/4/2016-----16
12/25/2016----32
12/26/2016----12
12/27/2016-----8

根据该数据集,我创建了一个查询,查看非高峰假期和非高峰日的列表,并从中创建了一个表。该表如下所示:

Read Date ----- Data
1/1/2016---------3
1/2/2016---------10 
12/25/2016-------32

我需要创建一个查询,该查询将为我提供表 A 数据,不包括表 B 数据。看起来像这样:

Read Date ----- Data
1/3/2016---------42
1/4/2016---------16
12/26/2016-------12
12/27/2016--------8

我尝试了不同的联接、NOT IN、WHERE NOT 和许多其他联接,遗​​憾的是这些联接只会返回表 A 中的所有结果或根本没有结果。

PS - 我为格式道歉,对所有这些都是新的。

不在,在哪里,,左连接,ISNULL

【问题讨论】:

【参考方案1】:

使用not exists:

select a.*
from a
where not exists (select 1
                  from b
                  where b.read_date = a.read_date and b.data = a.data
                 );

【讨论】:

成功了,谢谢!只是出于好奇,1是做什么的?我对 SQL 很陌生,一直在自学,慢慢地学习.. @user11416683 。 . . exists 检查是否存在行。它不在乎selected 是什么。 1 是您可以输入的最简单的内容。

以上是关于基于两表 MS Access 的数据排除的主要内容,如果未能解决你的问题,请参考以下文章

SQL MS Access查询的排除条件

在 MS Access 中创建存储过程?

MS ACCESS:从总计小计中排除主要组的小计

MS ACCESS 过滤器组合框所有选项

Acces数据库注入|偏移注入

mysql vs ms-access DB上的sql查询左连接