我需要4个字段 - >
要获得第4个,我需要使用SQL构建它。我可以通过“USERID”和“LOCATION”字段来完成此操作。
这是我的尝试。我通过链接的DB2表在Access 2007中运行查询。
SELECT DISTINCT employee_table.LOCATION, employee_table.USERID, employee_table.REPORT_MGR_USERID, manager_location
FROM employee_table main
JOIN employee_table (SELECT DISTINCT employee_table.LOCATION FROM employee_table AS sub WHERE sub.USERID = main.REPORT_MGR_USERID) manager_location
当我运行它时,它给了我这个错误 - >
Syntax error in FROM clause
然后突出显示JOIN关键字。
从我看过的所有内容来看,这看起来都是正确的......
编辑:
感谢David W,这是未来参考的工作版本 - >
SELECT DISTINCT main.LOCATION, main.USERID, main.REPORT_MGR_USERID, manager_data.LOCATION
FROM employee_table main
INNER JOIN employee_table manager_data
ON main.REPORT_MGR_USERID=manager_data.USERID
答案 0 :(得分:2)
您在第一个JOIN子句中指定了表名employee_table
和子选择(SELECT DISTINCT....)
。并且没有ON条件,虽然这可能是你想要的?
JOIN中employee_table
的规范可能只是一个错字,因为你为subselect提供了一个别名...
编辑灯泡刚刚开始,我明白OP想要什么。我们走了:
SELECT DISTINCT main.LOCATION, main.USERID, main.REPORT_MGR_USERID, manager_data.manager_location
FROM employee_table main
INNER JOIN employee_table manager_data
on main.REPORT_MGR_USERID=manager_data.USERID
答案 1 :(得分:1)
Access数据库引擎无法将JOIN
识别为INNER JOIN
的同义词。只要您单独使用JOIN
,它就会抛出语法错误。将其更改为INNER JOIN
。
然而,我怀疑你在纠正之后可能仍有问题。连接表达式的其余部分令人困惑,我不明白它的目的是什么。因此,在解决JOIN
问题后,您可能仍会遇到另一种语法错误。