SQL查询,从同一个表中获取员工姓名及其经理姓名

SQL查询,从同一个表中获取员工姓名及其经理姓名,sql,sql-server,select,Sql,Sql Server,Select,员工表 Employee_id Employee_name Manager_id ------------------------------------- Emp00001 Ram Emp00005 Emp00002 Sharath Emp00003 Emp00003 Nivas Emp00005 Emp00004 Praveen Emp00002 Emp00005 Mah

员工表

Employee_id  Employee_name   Manager_id
-------------------------------------
Emp00001     Ram             Emp00005
Emp00002     Sharath         Emp00003
Emp00003     Nivas           Emp00005
Emp00004     Praveen         Emp00002
Emp00005     Maharaj         Emp00002
输出

Employee Name    Manager Name
------------------------------
Ram              Maharaj
Sharath          Nivas
Nivas            Maharaj
Praveen          Sharath
Maharaj          Sharath

employee
表中,有三列
employee\u id
employee\u name
manager\u id
。如何从表中获取员工姓名和他们的经理姓名?

您可以自行加入表,从他的ID中获取经理姓名:

SELECT e.employee_name, m.employee_name AS manager_name
FROM   employee e
JOIN   employee m on e.manager_id = m.employee_id

希望您的数据库中可以使用manager表

SELECT employee_name, M.manager_name
FROM   employee e
INNER JOIN tableManager M ON e.ManagerID = M.MangerID

必填表:-员工

查询:- 说明:-

通过将该条件“雇员e加入雇员M”,自动将单表视为“e”和“m”两个不同的表,然后将表ID中的雇员ID与表M的管理器ID进行比较。 无论何时,只要找到匹配项,两个ID都相同,就会添加到结果中。

请尝试此操作

SELECT employee_name AS Employee_Name,(SELECT employee_name FROM   employee  where
employeeid=ManagerID ) AS Manager_Name  FROM   employee 

使用以下查询,您可以在此处获取Employeename和ManagerName我只有一个表EmpMgr: 从EmpMgr e中选择e.employeename作为ename,e.managerid作为mgrid,e1.employeename作为managername在e.managerid=e1.employeeid上加入EmpMgr e1

注意:您可以使用左联接获取所有员工的姓名,而不考虑经理的姓名

从EmpMgr中选择e.employeename作为ename,e.managerid作为mgrid,e1.employeename作为managername e left在e.managerid=e1.employeeid上加入EmpMgr e1



是否有任何可能重复的manager Table
SELECT employee_name AS Employee_Name,(SELECT employee_name FROM   employee  where
employeeid=ManagerID ) AS Manager_Name  FROM   employee 
select e1.empname,e2.empname  as managername,e1.salary,
e1.mrg,e1.empno,e1.job,e2.mrg as BossMRG from employee e1
join
employee e2 on e1.mrg=e2.empno
left join 
employee e3 on e1.mrg=e3.empno and e3.job='manager' or e3.empno=e2.mrg