访问 - 查询以将受骗者移动到一个表中,将非受骗者移动到另一个表中
Posted
技术标签:
【中文标题】访问 - 查询以将受骗者移动到一个表中,将非受骗者移动到另一个表中【英文标题】:Access - Query to move dupes into one table and non-dupes into another table 【发布时间】:2019-02-01 22:50:52 【问题描述】:目标:
将创建两个表的查询。一个持有重复记录,一个持有非重复记录。
我当前的查询是如何工作的:
当我的查询运行时,重复项被识别并显示在从表 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
)
)
这可能吗?这样做的目的是让用户能够对文件运行重复检查,然后将具有 non-duplicates 的表导出为新文件,同时他们可以查看 重复表进行数据分析。
我目前正在处理我的查询,所以我会在发现改进后更新这篇文章。
每个请求的示例数据(删除下面数据中的第 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 中引入了这两列)。
在这种情况下,我希望删除重复项并将其存储在其自己的表中,并将非重复项存储在另一个表中(连同我删除的 Table2 列)。
此外,对于这个查询,Access 不允许我选择 Make Table 函数。
【问题讨论】:
能否提供样本数据和预期结果以帮助我们理解您的问题? 不应该仅仅为了查看记录而导出。一个查询不能导出到两个表。运行多个操作。 @GMB 包含更多详细信息和屏幕截图。请提出任何问题,以便我进一步澄清。 @June7 不,我没有导出两个表。我正在创建两个表。导出可以手动完成。 基本相同的评论。当查询可以显示记录时,为什么要创建表?应该将代码发布为格式为表格而不是图像的文本。 【参考方案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]);
【讨论】:
以上是关于访问 - 查询以将受骗者移动到一个表中,将非受骗者移动到另一个表中的主要内容,如果未能解决你的问题,请参考以下文章