Microsoft Access SQL查询计数不同

时间:2017-02-15 18:23:07

标签: sql ms-access

我正在尝试在MS Access SQL中创建一个执行两个单独计数功能的查询,并起草了以下代码:

SELECT DISTINCT A.Name, Count(A.Name) AS X, Count(b.Address) AS Y
FROM PEOPLE AS A INNER JOIN PEOPLE Sub AS b ON A.PID = b.PID
GROUP BY A.Nam

这个查询的问题是两个计数函数都提供了每个名称的地址数的总计数,我希望第一个计数函数提供一个名称计数,因此如果有人可以建议我如何,我将不胜感激修改此代码以将第一个计数函数更改为计数不同

由于

尼克

2 个答案:

答案 0 :(得分:0)

您的查询错误 - GROUP BY必须具有A.Name - 我认为复制时出错。

否则改变这个。如果你在没有DISTINCT的情况下怎么办?使用SUM而不是COUNT来尝试它。

答案 1 :(得分:0)

由于GROUP BY子句,查询中的区别已过时。

此外,尚不清楚您的“人员子”是指另一张桌子还是自我加入。以下代码应该有效:

SELECT P.Name
, COUNT(P.*) AS X
, COUNT(DISTINCT A.Address) AS Y
FROM PEOPLE AS P 
INNER JOIN ADDRESS AS A ON A.PID = P.PID
GROUP BY P.Name