2017-01-09 118 views
0

我在SQL中有一个SQL语句,它从表中选择列并将它们复制到临时表中。它正在寻找重复。我需要用主键把它复制到临时表中,但我不希望它根据主键寻找重复项,因为它是唯一的。这是我到目前为止,有没有一个简单的方法来做到这一点?如果我有ID到我的选择/组,那么它只会根据ID标准查找重复项(即不会找到重复项)。如何在SELECT INTO语句中的Access中创建主键?

SELECT DIVISION, FIPS_COUNTY_CODE, LAST, SUFFIX, FIRST, TITLE, BIRTHDATE, count(*) INTO TempDupes 
FROM [work] 
GROUP BY DIVISION, FIPS_COUNTY_CODE, LAST, SUFFIX, FIRST, TITLE, BIRTHDATE 
HAVING count(*) > 1; 

回答

0

如果你想与其他列沿着主键,那么你就可以JOIN回原来的表:

SELECT w.* 
INTO TEMPDUPES 
FROM (SELECT DIVISION, FIPS_COUNTY_CODE, LAST, SUFFIX, FIRST, TITLE, 
      BIRTHDATE, count(*) as cnt 
     FROM [work] 
     GROUP BY DIVISION, FIPS_COUNTY_CODE, LAST, SUFFIX, FIRST, TITLE, BIRTHDATE 
     HAVING count(*) > 1 
    ) as ww INNER JOIN 
    [work] as w 
    ON w.division = ww.division AND 
     w.FIPS_COUNTY_CODE = ww.FIPS_COUNTY_CODE AND 
     . . . 

对于SELECT,你可以加入你所需要的列。

+0

我想这(与字段填写) ,但它说:“语法错误在FROM子句” 要点是:https://gist.github.com/rohanharrison/27f4895b525b6f2ad392ba886d084d4d – rohanharrison

+0

@rohanharrison。 。 。真正的问题是子查询中的“INTO”。如果你想要一个包含该信息的表格,那么'INTO'需要位于最外面的查询中。 –

+0

@GordonLinoff我试过,但它仍然没有工作:https://gist.github.com/rohanharrison/db6134fcfb3ffd279e191ebee40264be 等我刚才看到你的编辑。 – rohanharrison

相关问题