2017-01-30 68 views
2

我正在使用MS Access 我需要删除作为此查询结果的所有Table1.ids。我想选择Table1.id但我得到了一个错误说:你试图执行一个查询,不包括指定表达式“ID”作为聚集函数的一部分”用Group BY选择后删除ID

SELECT 
Table1.code1,Table1.code2 ,COUNT(*) AS count 
FROM 
Table1 LEFT JOIN Table2 ON Table1.id=Table2.id 
Where Table2.id IS NULL 
GROUP BY 
Table1.code1, 
Table1.code2 
Having 
COUNT(*) > 1 

任何帮助表示赞赏

回答

1

呦需要使用in运营商在查询如果您需要删除所有符合条件的行,那么你可以使用你的table1code1列如下:

Delete from Table1 where code1 in 
(
    SELECT 
    Table1.code1 
    FROM 
    Table1 LEFT JOIN Table2 ON Table1.id=Table2.id 
    Where Table2.id IS NULL 
    GROUP BY 
    Table1.code1, 
    Table1.code2 
    Having 
    COUNT(*) > 1 
)