2013-06-04 31 views
2

我需要在MS Access中执行此操作。我有两个表: A {id, name, FK to B} B {id, name, limit}MS Access中的简单SQL COUNT查询

现在我需要创建查询,这将使具有更小的比它的极限我BS:

SELECT * FROM B WHERE B.limit < 
    (SELECT COUNT(A.id) FROM A WHERE A.[FK to B] = B.id) 

我不知道我怎样才能使作为查询简单这在MS Access中。

回答

2

也许你可以用OUTER JOIN和子查询,而不是这样做:

SELECT B.* 
FROM B 
    LEFT JOIN (
     SELECT Count(*) cnt, BID 
     FROM A 
     GROUP BY BID 
    ) A ON B.Id = A.BID 
WHERE B.limit < NZ(A.cnt,0) 
+0

谢谢,它的工作的方式。 – Ari

+0

@Ari - np,很高兴它的工作! – sgeddes