【发布时间】:2019-07-02 08:22:29
【问题描述】:
我想显示数据库中的一些数据。老板的 id 与员工在同一行。我想显示老板的名字。 eId 是员工的 id,bossId 是他的老板的 id。 recepId 是那个部门的接待员的id。
我要显示部门名称、描述、接待员id、接待员姓名、老板id和他的名字。
我可以显示除了老板的名字之外的所有内容。如何在我的查询中管理它?
员工表:
| eId | name |city |bossId | depNr |
|:-------------|------------:|:------------:|--------------------
| 345 | Frits | Canvas | 240 | 60|
| 240 | Steven | Canvas | 200 | 90|
| 265 | John | Kentucky | 40 | 60|
| 40 | Kreuger | Kentucky | | 90|
部门表:
| depCode | depName |locId |recepId|
|:-------------|------------: |:-----------|----------
| 60 | Finance | CAN | 345 |
| 90 | Research | CAN | 265 |
位置表:
| code | description |country |
|:-------------|------------: |:-----------|
| CAN | Finance | USA |
| CAN | Research | USA |
| KEN | Economics | USA |
我想要什么:
| depName | description |recepId |name | bossID| bossName|
|:-------------|------------:|:------------:|----------------------------
| 345 | COD12 | Canvas | Frits | 240 | Steven
| 140 | COD40 | Canvas | John | 800 | Kreuger
我的查询:
SELECT department.depName, Location.description, department.recepId, employee.name, employee.bossId
FROM department
INNER JOIN Location
ON Location.code = department.locId
Left JOIN employee
ON department.recepId = employee.eId
这表明:
| depName | description |recepId |name | bossID|
|:-------------|------------:|:------------:|-------------------
| 345 | COD12 | Canvas | Frits | 240 |
| 140 | COD40 | Canvas | John | 800 |
【问题讨论】: