首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向导生成的查找重复项的查询中的Access 2007错误

问向导生成的查找重复项的查询中的Access 2007错误
EN

Stack Overflow用户
提问于 2014-08-04 16:02:38
回答 1查看 163关注 0票数 0

我正在尝试使用查询向导生成一个查询,以查找重复的记录。生成的查询在表中运行良好,但当我再次应用向导在查询中运行查找重复项时,我一直收到以下错误:“您尝试执行不包含聚合函数的指定expression...as部分的查询”。下面是向导生成的SQL:

代码语言:javascript
复制
SELECT [four letter c-codes].[4_letter_code], [four letter c-codes].[bird_data_ID], [four letter c-codes].[Metal_ID]
FROM [four letter c-codes]
WHERE ((([four letter c-codes].[4_letter_code]) In (SELECT [4_letter_code] FROM [four letter c-codes] As Tmp GROUP BY [4_letter_code] HAVING Count(*)>1 )))
ORDER BY [four letter c-codes].[4_letter_code];

我尝试单独执行In子句,它成功了,输出了字段4_letter_code的重复值。用由此产生的常量替换In子句也提供了所需的输出。如果能帮你解决这个问题.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-04 16:22:55

我刚去掉了多余的括号,试试这个.

代码语言:javascript
复制
SELECT  [four letter c-codes].[4_letter_code] ,
        [four letter c-codes].[bird_data_ID] ,
        [four letter c-codes].[Metal_ID]
FROM    [four letter c-codes]
WHERE   [four letter c-codes].[4_letter_code] IN (
        SELECT  [4_letter_code]
        FROM    [four letter c-codes]
        GROUP BY [4_letter_code]
        HAVING  COUNT(*) > 1 )
ORDER BY [four letter c-codes].[4_letter_code];

或者,你可以试试INNER JOIN.

代码语言:javascript
复制
SELECT  [four letter c-codes].[4_letter_code] ,
        [four letter c-codes].[bird_data_ID] ,
        [four letter c-codes].[Metal_ID]
FROM    [four letter c-codes]
        INNER JOIN ( SELECT [4_letter_code]
                     FROM   [four letter c-codes]
                     GROUP BY [4_letter_code]
                     HAVING COUNT(*) > 1
                   ) b 
             ON [four letter c-codes].[4_letter_code] = b.[4_letter_code]
ORDER BY [four letter c-codes].[4_letter_code];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25122875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档