Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:语法错误(缺少运算符)_Sql_Ms Access - Fatal编程技术网

SQL:语法错误(缺少运算符)

SQL:语法错误(缺少运算符),sql,ms-access,Sql,Ms Access,我一点也不擅长SQL 我在MS access数据库中有两个表 |ID| Name |Surname|Postion| |EmpID|ManID| ---------------------------- ------------- |1 |Scrooge|McDuck |Manager| |3 |1 | |2 |Daisy |Duck |Manager| |7 |1 | |3 |Do

我一点也不擅长SQL

我在MS access数据库中有两个表

|ID| Name  |Surname|Postion|           |EmpID|ManID|
----------------------------           ------------- 
|1 |Scrooge|McDuck |Manager|           |3    |1    |
|2 |Daisy  |Duck   |Manager|           |7    |1    |
|3 |Donald |Duck   |Support|           |6    |2    | 
|4 |Minny  |Mouse  |Support|           |4    |2    |
|5 |Mickey |Mouse  |Support|           |2    |1    |
|6 |Goofy  |       |Support|           |1    |2    |
|7 |Pluto  |       |Support|           |5    |2    |
|8 |Huey   |Duck   |Support|
|9 |Dewey  |Duck   |Support|
|10|Louie  |Duck   |Support|
我需要编写一个SQL语句来生成以下输出

| Name  |Surname|Postion|Manager Name|Manager Positon|          
------------------------            
|Donald |Duck   |Support|Scrooge     |Manager         
|Pluto  |       |Support|Scrooge     |Manager         
|Goofy  |       |Support|Daisy       |Manager        
|Minny  |Mouse  |Support|Daisy       |Manager       
|Daisy  |Duck   |Support|Scrooge     |Manager        
|Scrooge|McDuck |Manager|Daisy       |Manager        
|Mickey |Mouse  |Manager|Daisy       |Manager 
到目前为止,我的代码看起来是这样的(我一直在网上查看它是如何完成的,以及为什么)

我知道这个问题已经得到了回答

但它似乎不起作用并产生错误:

语法错误(缺少运算符)


任何帮助都将不胜感激。

MS Access对多个
连接有一个非典型要求,即它们被封装在嵌套的
()
组中,如:

FROM
  ((t1 INNER JOIN t2 ON t1.id = t2.id)
     INNER JOIN t3 ON t2.id = t3.id)
您的
FROM
子句应表示为:

SELECT Employee.Name,Employee.Surname,Employee.Position,Manager.Name as ManagerName
FROM ((
  Employee
  INNER JOIN Stafflink ON Employee.ID=Stafflink.EmpID)
  INNER JOIN Employee Manager ON Manager.ID=Stafflink.ManID);

你的标题是语法错误,但你的问题是“似乎不起作用”。你想完成什么?你面临什么问题?我想把输出转换成显示的格式,最后一行是给出错误的那一行。如果我拿出来,我会被要求输入经理的名字,然后以正确的格式显示出来。查询的最后一行是获取经理的姓名,这是我面临的问题。
ms access
很好地捕捉到了我的眼睛,当我阅读问题时,我显然看不到。@bluefeet我起初没有看到它,当我看到不起眼的错误“缺少操作员”时,我又回去扫描了它。非常感谢你,这非常有帮助。我将记住,在将来的Access中,我是否应该得到一个合适的数据库程序。@Darkstryrics会在您方便的时候尽早得到一个合适的:)我曾经在Access GUI中构建查询,以研究它如何布局所有的
()
组,因为这对我来说没什么意义。我现在在等着看未来的雇主会用什么。在一次测试中,我得到了这个,以了解我的理解和研究技能。
SELECT Employee.Name,Employee.Surname,Employee.Position,Manager.Name as ManagerName
FROM ((
  Employee
  INNER JOIN Stafflink ON Employee.ID=Stafflink.EmpID)
  INNER JOIN Employee Manager ON Manager.ID=Stafflink.ManID);