访问查询以检索所有三个不相等的字段

Posted

技术标签:

【中文标题】访问查询以检索所有三个不相等的字段【英文标题】:Access query to retrieve all three fields not equal 【发布时间】:2014-04-09 17:48:20 【问题描述】:

我需要在 MS Access 中编写一个查询,其中所有三列不应该相等。

例如,有三列 A B C 。每列不应该彼此相等,都应该有一个单独的值。

如何编写这样的查询?

【问题讨论】:

【参考方案1】:
SELECT a, b, c
FROM   my_table
WHERE  a<>b AND a<>c AND b<>c

【讨论】:

当我做这个查询时我得到 C=A where 子句明确声明 a&lt;&gt;cac 中有 nulls 吗?另外,这些列是字符串吗?是否有可能包含空格以使它们实际上不相等,但可能看起来与肉眼相等?【参考方案2】:

如果您的字段不可为空,您只需检查 A != B、A != C 和 B != C:

SELECT *
FROM test
WHERE A <> B AND A <> C AND B <> C

如果字段可以为空,则可以进行相同的查询,但 NULLs 不被视为有效值。

【讨论】:

当我做这个查询时得到 C=A 这是不可能的——查询明确要求它们不相等。如果 C 和 A 是字符串,当它们仅在其中一个字符串中尾随空格不同时,它们可能看起来相等。

以上是关于访问查询以检索所有三个不相等的字段的主要内容,如果未能解决你的问题,请参考以下文章

访问查询以包含所有记录,即使一个字段缺少数据(为 Null)

从列表框选择访问不可见的查询字段

使用PHP链接MySQL

需要帮助以获取访问表单以将值插入查询

什么基于可空表单字段的访问查询条件将返回我需要的内容?

查询SQL优化