Sql 带IN子句的访问查询

Sql 带IN子句的访问查询,sql,ms-access,ms-access-2010,Sql,Ms Access,Ms Access 2010,希望在Access(2010)中使用IN子句。然而,结果是不正确的。简化的原始查询如下所示: SELECT SUM(Amount) AS SumAmountOnce FROM Invoices WHERE (((Invoices.[ClientID]) In (SELECT A.ClientID FROM Invoices A GROUP BY A.ClientID HAVING COUNT(A.ClientID)=1 ))); 问题是并非所有记录都被处理(计数大于1)。即使是以下方面也失

希望在Access(2010)中使用IN子句。然而,结果是不正确的。简化的原始查询如下所示:

SELECT SUM(Amount) AS SumAmountOnce
FROM Invoices
WHERE (((Invoices.[ClientID])  In (SELECT A.ClientID FROM Invoices A GROUP BY  A.ClientID HAVING COUNT(A.ClientID)=1 )));
问题是并非所有记录都被处理(计数大于1)。即使是以下方面也失败了:

SELECT SUM(Amount) AS SumAmountOnce
FROM Invoices
WHERE (((Invoices.[ClientID])  In (SELECT A.ClientID FROM Invoices A )));
如果条件为“无效”。第二个查询也给出了不正确的结果。消除这种情况很好。对条件(不在)求反将给出一个空结果。怎么了


谢谢你的帮助

in子句之后的子查询中的表名是什么?发票或发票或其他东西我首先想到:是否有ClientID为空的记录?为什么这么复杂?您只引用了一个表,为什么要在中使用?您可以使用COUNT。对,有一条记录的ClientID=NULL。很抱歉