目标:
将创建两个表的查询。一个保持重复的和一个保持无重复的记录。
当前查询的工作方式:
运行查询时,将识别重复项并将其显示在表2带来的列中。
我现在拥有的SQL查询:
SELECT
Table1.Column3 , Table2.Column3
,Table1.Column4 , Table2.Column4
,Table1.Column5 , Table2.Column5
,Table1.Column7 , Table2.Column7
,Table1.Column8 , Table2.Column8
From Table1
Left Join Table2
On
( Table1.Column3 = Table2.Column3
AND Table1.Column4 = Table2.Column4
AND Table1.Column5 = Table2.Column5
AND ( Table1.Column7 = Table2.Column7
OR Table1.Column8 = Table2.Column8
)
)
这可能吗?这样做的目的是为用户提供运行上的文件重复检查的能力,其次是出口具有的非重复作为一个新的文件,而他们可以看看表重复表进行数据分析。
我目前正在处理查询,因此我会在确定改进后更新此帖子。
每个请求的样本数据(以下数据中的第5列已消除):
Table1.Column3 Table1.Column4 Table1.Column7 Table2.Column7 Table1.Column8 Table2.Column8
AAA 9898 7897897546 9878795644
BBB 9898 5489411321 3321346544
AAA 9898 8948798794 3987496321
AAA 9898 1321316564 9874631245
AAA 8878 A11111111111 A11111111111
BBB 8878 A22222222222 A22222222222
BBB 8878 33333333333 33333333333
BBB 6988 44444444444 44444444444
您在上面看到的是标识重复项的查询。 Table2列是已识别的重复项(查询从Table2中引入了这两列)。
在这种情况下,我希望(连同表2列我领中移除)被移除,并存储在其自身的表和非重复要被存储的另一个表内的重复。
此外,通过此查询,Access不允许我选择“创建表格”功能。
答案 0 :(得分:1)
可以导出查询。
尝试在查询中添加WHERE子句。您将需要两个查询。
使用过帐的数据集作为查询的源表。请注意,在创建表时,我在字段名称中未添加句点。
对于重复项似乎很简单:
WHERE Table1Column8=[Table2Column8] OR Table1Column7=[Table2Column7]
要选择非重复项,请执行以下操作:
SELECT * FROM Data WHERE Table1Column3 & Table1Column4
NOT IN (SELECT Table1Column3 & Table1Column4
FROM Data WHERE Table1Column8=[Table2Column8] OR Table1Column7=[Table2Column7]);