MS Access Sql查询不是聚合函数的一部分。与计数函数一起使用
我正在尝试对Access执行此查询:MS Access Sql查询不是聚合函数的一部分。与计数函数一起使用,sql,ms-access,Sql,Ms Access,我正在尝试对Access执行此查询: SELECT DISTINCT Phys.FName, Phys.LName, COUNT(*) AS NumberPatients FROM Phys, Summary WHERE (((Summary.Phys_ID)=[Enter Physician Id])) AND Phys.Phys_ID = Summary.Phys_ID; 但我得到了这个错误: 您试图执行的查询不包括指定的 表达式“FName”作为聚合函数的一部分。(错误3122) 查
SELECT DISTINCT Phys.FName,
Phys.LName, COUNT(*) AS NumberPatients
FROM Phys, Summary
WHERE (((Summary.Phys_ID)=[Enter Physician Id]))
AND Phys.Phys_ID = Summary.Phys_ID;
但我得到了这个错误:
您试图执行的查询不包括指定的
表达式“FName”作为聚合函数的一部分。(错误3122)
查询仅使用计数或不同的FName/LName就可以正常工作。这只是我组合它们时的一个问题。使用
分组依据
,而不是选择不同的
,以及显式的连接
:
SELECT Phys.FName, Phys.LName, COUNT(*) AS NumberPatients
FROM Phys INNER JOIN
Summary
ON hys.Phys_ID = Summary.Phys_ID
WHERE Summary.Phys_ID = [Enter Physician Id]
GROUP BY Phys.FName, Phys.LName;
试一试
当您对其他列使用聚合函数时,必须按这些列分组才能得到结果。欲了解更多信息,请阅读您需要一个由Phys.FName、Phys.lname组成的小组。欢迎:)接受其中一个答案。当做
SELECT DISTINCT Phys.FName,
Phys.LName, COUNT(*) AS NumberPatients
FROM Phys, Summary
WHERE (((Summary.Phys_ID)=[Enter Physician Id]))
AND Phys.Phys_ID = Summary.Phys_ID
Group by Phys.FName, Phys.LName