使用 Access 检查重复项 SQL
Checking for duplicates using Access SQL
我目前正在处理一个访问表单,它处理两个表之间的重复检查。
我找return的场景如下:
-TempTableExcelFile 中的重复项
-tblPeople 中的重复项
- 跨两个表重复。
我通过研究了解到我需要使用连接,但我似乎无法让它工作。
我目前的代码查询如下:
SELECT * FROM (
SELECT count(code) AS [Number of Duplicates]
code AS [Code Duplicated],
"Existing Database" AS [Duplicate Location]
from tblpeople
group by code
having count(code) > 1
UNION ALL
select count(code) AS [Number of Duplicates],
code AS [Code Duplicated],
"Imported Data" AS [Duplicate Location]
from TempTableExcelFile
group by code
having count(code) > 1
)
所以根据我的理解,这目前会给我包含在各自表格中的重复项。
我对如何加入表格的理解如下:
SELECT count(code) AS [Number of Duplicates],
code AS [Code Duplicated],
"Existing Database" AS [Duplicate Location]
FROM tblPeople
JOIN TempTableExcelFile
ON code = code
GROUP BY code
having count(code) > 1
但是,尽管付出了很多努力,但在我们在 tblPeople 中复制代码 TempTableExcelFile 的情况下,我无法触发它。我很痛苦地意识到这可能是因为我缺乏理解,所以在这件事上的任何帮助将不胜感激。
如果您post解决了问题,请尽您所能解释我哪里出错了,并建议我可以研究的主题以加深我的理解。
谢谢,
段
P.S,我很欣赏这里的命名约定有点不对,我使用的是我的前任创建的现有表。
用一个UNION ALL
把2个table变成1个"table",然后从中数
SELECT count(*), code FROM (
SELECT code
from tblpeople
UNION ALL
select code
from TempTableExcelFile
) TableAndTemp
group by code
having count(code) > 1
或者,select tblpeople
中已存在的临时 table 中的所有代码
SELECT DISTINCT code
from TempTableExcelFile
WHERE code in (SELECT Code from tblpeople)
我目前正在处理一个访问表单,它处理两个表之间的重复检查。
我找return的场景如下:
-TempTableExcelFile 中的重复项 -tblPeople 中的重复项 - 跨两个表重复。
我通过研究了解到我需要使用连接,但我似乎无法让它工作。
我目前的代码查询如下:
SELECT * FROM (
SELECT count(code) AS [Number of Duplicates]
code AS [Code Duplicated],
"Existing Database" AS [Duplicate Location]
from tblpeople
group by code
having count(code) > 1
UNION ALL
select count(code) AS [Number of Duplicates],
code AS [Code Duplicated],
"Imported Data" AS [Duplicate Location]
from TempTableExcelFile
group by code
having count(code) > 1
)
所以根据我的理解,这目前会给我包含在各自表格中的重复项。
我对如何加入表格的理解如下:
SELECT count(code) AS [Number of Duplicates],
code AS [Code Duplicated],
"Existing Database" AS [Duplicate Location]
FROM tblPeople
JOIN TempTableExcelFile
ON code = code
GROUP BY code
having count(code) > 1
但是,尽管付出了很多努力,但在我们在 tblPeople 中复制代码 TempTableExcelFile 的情况下,我无法触发它。我很痛苦地意识到这可能是因为我缺乏理解,所以在这件事上的任何帮助将不胜感激。
如果您post解决了问题,请尽您所能解释我哪里出错了,并建议我可以研究的主题以加深我的理解。
谢谢,
段
P.S,我很欣赏这里的命名约定有点不对,我使用的是我的前任创建的现有表。
用一个UNION ALL
把2个table变成1个"table",然后从中数
SELECT count(*), code FROM (
SELECT code
from tblpeople
UNION ALL
select code
from TempTableExcelFile
) TableAndTemp
group by code
having count(code) > 1
或者,select tblpeople
SELECT DISTINCT code
from TempTableExcelFile
WHERE code in (SELECT Code from tblpeople)