【发布时间】:2014-06-11 13:45:11
【问题描述】:
我一点也不擅长 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
到目前为止,我的代码看起来像这样(我一直在网上查看它是如何完成的以及为什么)
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;
我知道问题已在Sql table output 中得到解答
但它似乎不起作用并产生错误:
语法错误(缺少运算符)
任何帮助将不胜感激。
【问题讨论】:
-
您的标题说语法错误,但您的问题说“似乎不起作用”。你想完成什么,你面临什么问题?
-
我正在尝试将输出转换为所示格式,最后一行是给出错误的行。如果我取出,系统会要求我输入经理的姓名,并以正确的格式输出。查询的最后一行是获取经理的名字,这就是我面临的问题。