我有一个关于access中sql查询的问题(我三天前才开始)
所以有 2 个表:员工和部门,我想要的是创建一个查询,该查询将显示每个员工的姓名和 ID 以及他管理的部门数量。
Employee( ID, NAME, social_security_of_employe)
Department(department_id, social_security_of_employee)
(社保是我的首要关键) 我的尝试是:
SELECT E.ID, E.NAME, COUNT(D.SOCIAL_SECURITY) AS NUMBER_OF_DEPARTMENTS
FROM EMPLOYEE E
INNER JOIN DEPARTMENT D
WHERE D.SOCIAL_SECURITY=E.SOCIAL_SECURITY
GROUP BY SOCIAL_SECURITY
提前致谢
最佳答案
MS Access 的正确语法是:
SELECT E.ID, E.NAME, COUNT(D.SOCIAL_SECURITY) AS NUMBER_OF_DEPARTMENTS
FROM EMPLOYEE as E INNER JOIN
DEPARTMENT as D
ON D.SOCIAL_SECURITY = E.SOCIAL_SECURITY
GROUP BY E.ID, E.NAME;
变化:
- MS Access 需要
as
作为表别名。 WHERE
子句应该是ON
子句。GROUP BY
中的列需要与SELECT
中未聚合的列匹配。
关于sql - Access sql内连接并统计2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30559236/