我正在使用MS Access 我需要删除作为此查询的结果的所有Table1.ids。我尝试选择Table1.id,但我收到一个错误说:你试图执行一个不包含指定表达式的查询" 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
感谢任何帮助。
答案 0 :(得分:2)
您需要在查询中使用in
运算符。如果您需要删除符合条件的所有行,则可以使用table1
code1
列,如下所示:
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
)