sql - Access sql内连接并统计2个表

标签 sql ms-access

我有一个关于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/

相关文章:

php 插入不起作用

database - 如何创建表单来编辑一对多关系?

ms-access - (ColdFusion + Access) 数据库查询错误 "Too few parameters."

mysql - SQL 将一个表数据连接到其他表

mysql - SQL从表头表中选择,其中明细表行有多个值

mysql - 异常缓慢的行为 IN 子句 SQL

ms-access - MS Access 中 VBA 代码与宏的优缺点是什么?

ms-access - 如何从表中获取自增字段名?

vb.net - 如何使用我的应用程序复制 Access 数据库文件?

单个 WHERE 条件中的 SQL 多列