sql - 如何在 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”中的语法错误(缺少运算符)。
解决方案
在 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
推荐阅读
- amazon-web-services - 使用客户端应用程序更新非 ssl 中的 Amazon RDS SSL/TLS 证书
- javascript - 哪些运行时平台和版本实现了 ES6 模块和导入导出语法?
- python - DQN+CPLEX:随着迭代的进行,我的程序变得越来越慢
- c - 关于数组的最终分配问题
- c# - 求解数学最后 str + 1 返回 50
- javascript - 我得到了网络响应,但 CORS 不允许它进入
- php - 我想使用 php 使用简单的 html dom 来抓取输入值 readonly 值,我一直得到一个空白返回
- react-native - 反应本机 - 在 RTL 设备中使特定组件不是 RTL
- python - Python 中的 Lambda 递归和 AND/OR
- reactjs - 单击自动完成材质 UI 的按钮时如何删除选定的值?