Sql server 查询以获取给定Managername的Manager EmployeeID

Sql server 查询以获取给定Managername的Manager EmployeeID,sql-server,tsql,Sql Server,Tsql,有人能给我看看吗 我在这里怎么找到managerid。 每个经理也是一名员工,并且具有ID 您需要根据与一起联系的FirstName和LastName列的组合相匹配的Manager1列将表连接到自身 查询中的主表将包含员工的信息,然后将该表连接到自身。连接表将是我们获取ManagerID的来源。确保在此处使用左联接,因为表中肯定有一个没有经理的员工 SELECT e.EmployeeID, e.FirstName, e.LastName, e.Manager1, m.EmployeeID as

有人能给我看看吗 我在这里怎么找到managerid。 每个经理也是一名员工,并且具有ID


您需要根据与一起联系的FirstName和LastName列的组合相匹配的Manager1列将表连接到自身

查询中的主表将包含员工的信息,然后将该表连接到自身。连接表将是我们获取ManagerID的来源。确保在此处使用左联接,因为表中肯定有一个没有经理的员工

SELECT e.EmployeeID, e.FirstName, e.LastName, e.Manager1, m.EmployeeID as ManagerID
FROM Employee e
  LEFT JOIN Employee m ON e.Manager1 = m.FirstName + ' ' + m.LastName

使用
内部联接/自联接
在表上通过夹板连接
管理器1
这是非常基本的自联接sql查询,只需在google上搜索,您就可以很容易地找到与管理者和员工相同的示例。还有一个循环:John Smith->Jon Doe->Mike Test->John Smith。哦,我想这不会改变答案。