首页 > 解决方案 > 如何在 Access 上两次加入同一个表

问题描述

我知道在 MySQL 上,我们可以通过给每个表自己的别名来加入同一个表两次,但这似乎不适用于 Access。

例如:

SELECT d.departmentID, d.depName, d.location, c1.memberID, c1.fullName,  c1.reportsTo, c2.fullName
FROM Departments as d
INNER JOIN Contacts as c1
   ON c1.departmentID = d.departmentID
INNER JOIN Contacts as c2
   ON c1.reprtsTo = c2.memberID

这样做会给我一个语法错误。有谁知道我如何加入同一张表(联系人)以获取成员向其报告的人的姓名(c2.fullName)?

更新,我得到的错误:

查询表达式“c1.departmentID = d.departmentID INNER JOIN Contacts as c2 ON c1.reportsTo = c2.memberI”中的语法错误(缺少运算符)。

标签: sqlms-access

解决方案


在 MS Access 中,不止一个JOIN需要括号配对:

SELECT d.departmentID, d.depName, d.location, c1.memberID, 
       c1.fullName,  c1.reportsTo, c2.fullName
FROM (Contacts as c1
INNER JOIN Departments as d
   ON c1.departmentID = d.departmentID)
INNER JOIN Contacts as c2
   ON c1.reprtsTo = c2.memberID

推荐阅读