需要SQL查询来解决这个问题

时间:2011-06-28 07:10:43

标签: sql sql-server

我遇到了一个SQL问题,想知道如何做到这一点。

问题是: -

  

SQL Server中有一个名为的表   MyOrganisation有两列 -   员工,Reporting_to。

显示哪位员工向哪位员工报告。

我必须检索包含两列的结果集 -

一个 - 存储员工的姓名,另一个列存储在第一列中向员工报告的员工姓名。

请注意,根据员工的层次结构,存储负责人姓名(员工报告)的列的顺序,如组织负责人必须在第一位。

2 个答案:

答案 0 :(得分:3)

select
    mo1.Employee as boss,
    mo1.Employee as underling
from MyOrganisation mo1
join MyOrganisation mo2 on mo2.Reporting_to = mo1.Employee

请不要用勺子喂食。我很无聊!

答案 1 :(得分:1)

例如,我们有Employee表保存employeeid,员工姓名和其他数据

select e1.Name As Employee, e2.Name As Director
from MyOrganisation mo
join Employee e1 on mo.Employee = e1.EmployeeId
join Employee e2 on mo.Reporting_To = e2.EmployeeId