访问不匹配或类似的查询,其中一列不包含或不像另一列
Access Unmatched or similar query where a column does not contain or is not like another column
我想设计一个基本上执行大量 "Not Like "*x*"
的查询,除了我不希望查询包含的所有内容都在另一列中。
我知道我可以通过使用条件并指定 "Not like "*x*"
来一次执行此操作,但我不知道如何对整列数据执行 not like
。
所以,长版本是我在公司网络的几个不同服务器上托管了一堆摄像机。这些摄像机中的每一个都在同一个子网上,除了 IP 地址的最后一个八位字节之外的所有内容都与服务器匹配。现在,我已经在一个查询中创建了一个字段,该字段删除了我 IP 的最后一个八位字节,所以我现在基本上有一个预制的 IP 范围,其中包含摄像机可能所在的位置。但是,我没有每个摄像头的确切清单 - 也没有真正快速的方法。
我有一个正在处理的问题列表,我注意到问题列表中出现了一些摄像头(基本上 table 包括一堆 IP 地址)。我想从报告中删除所有可能的相机实例。
我见过人们可以比较类似列的设计,但我想做相反的事情。我想生成一个查询,其中不包含相机列中的任何内容。
为此,我将调用具有摄像机范围 Camera Ranges
和字段 Camera Range
的查询。
有什么方法可以做到这一点吗?
我愿意设计查询,甚至可以更改我的 table 以便更轻松地进行查询。
类似于我提供的答案,而不是使用否定选择来测试记录所持有的值是否不像 另一个数据集中的任何记录,更简单的方法是匹配那些 是 的数据集和 return 那些 不匹配 .
的记录
为此,您可以在 where
子句中使用 left join
和 is null
条件,例如:
select
MainData.*
from
MainData left join ExclusionData on
MainData.TargetField like ExclusionData.Pattern
where
ExclusionData.Pattern is null
或者,如果模式字段尚未包含通配符运算符:
select
MainData.*
from
MainData left join ExclusionData on
MainData.TargetField like '*' & ExclusionData.Pattern & '*'
where
ExclusionData.Pattern is null
请注意,MS Access 将无法在查询设计器中表示此类计算的联接,但 MS Access 使用的 JET 数据库引擎仍将能够解释和执行有效的 SQL。
我想设计一个基本上执行大量 "Not Like "*x*"
的查询,除了我不希望查询包含的所有内容都在另一列中。
我知道我可以通过使用条件并指定 "Not like "*x*"
来一次执行此操作,但我不知道如何对整列数据执行 not like
。
所以,长版本是我在公司网络的几个不同服务器上托管了一堆摄像机。这些摄像机中的每一个都在同一个子网上,除了 IP 地址的最后一个八位字节之外的所有内容都与服务器匹配。现在,我已经在一个查询中创建了一个字段,该字段删除了我 IP 的最后一个八位字节,所以我现在基本上有一个预制的 IP 范围,其中包含摄像机可能所在的位置。但是,我没有每个摄像头的确切清单 - 也没有真正快速的方法。
我有一个正在处理的问题列表,我注意到问题列表中出现了一些摄像头(基本上 table 包括一堆 IP 地址)。我想从报告中删除所有可能的相机实例。
我见过人们可以比较类似列的设计,但我想做相反的事情。我想生成一个查询,其中不包含相机列中的任何内容。
为此,我将调用具有摄像机范围 Camera Ranges
和字段 Camera Range
的查询。
有什么方法可以做到这一点吗?
我愿意设计查询,甚至可以更改我的 table 以便更轻松地进行查询。
类似于我提供的答案
为此,您可以在 where
子句中使用 left join
和 is null
条件,例如:
select
MainData.*
from
MainData left join ExclusionData on
MainData.TargetField like ExclusionData.Pattern
where
ExclusionData.Pattern is null
或者,如果模式字段尚未包含通配符运算符:
select
MainData.*
from
MainData left join ExclusionData on
MainData.TargetField like '*' & ExclusionData.Pattern & '*'
where
ExclusionData.Pattern is null
请注意,MS Access 将无法在查询设计器中表示此类计算的联接,但 MS Access 使用的 JET 数据库引擎仍将能够解释和执行有效的 SQL。