嗨,我有一个包含多列的 Access 数据库表(如Col_1,Col_2,Col_3,......,Col_n)所有整数
我需要一个查询来查找任何特定行多列的值是重复的,
以示例为例下面是表格
Field2 Field3 Field4 Field1
1 3 2 3
4 3 1 2
5 6 7 8
2 2 3 1
3 6 5 4
3 3 3 2
2 1
2 2
现在我需要一个查询来显示下面的结果
Field2 Field3 Field4 Field1
1 3 2 3
2 2 3 1
3 3 3 2
2 2
目前我正在使用查询(“从表1中选择*,其中Field1位于(Field2,Field3,Field4)或Field2位于(Field1,Field3,Field4)或Field3位于(Field2,Field1,Field4)或Field4位于(Field2,Field3, Field1)“)获取结果但是我需要一个简单的Query来解决它,
2 回答
请注意,您可以稍微简化一下查询:
您只需要将字段与行中的其余字段进行比较 . 换句话说,表达式
Field4 in (Field1, Field2, Field3)
是多余的,因为您已经将每个字段都比较为Field4
.写了这个保存在模块中的快速功能:
这是查询:
该函数需要尽可能多的字段来提供它 . 然后它利用Dictionary对象来查找唯一值,因为Dictionary键必须是唯一的 . 如果存在重写值,则该函数返回True,并且我们知道该行应该在查询中显示 .
EDIT: 更改了处理空值的函数 .