【问题标题】:Sql Server self join for employee manager relationshipSql Server 自加入员工经理关系
【发布时间】:2021-03-16 10:51:58
【问题描述】:
EmpId   EmpName     ManagerId
1       Ramesh      NULL
2       Khiln       1
3       Khaushilk   1
4       Komal       2
5       Muffy       2
6       Jhon        3
7       Richa       3
8       Riya        4

我的数据

    empname     manager1  
1   Ramesh      NULL
2   Khiln       Ramesh 
3   Khaushilk   Ramesh 
4   Komal       Khiln
5   Muffy       Khiln
6   Jhon        Khaushilk
7   Richa       Khaushilk
8   Riya        Komal

现在我想要 2 级经理的姓名,例如 ramesh khiln khaushik 的经理... 我是怎么做到的

【问题讨论】:

    标签: sql sql-server sql-server-2008 inner-join self-join


    【解决方案1】:

    这确实是一个自加入:

    select e.empname, m.empname as managername
    from employees e
    left join employees m on m.empid = e.managerid
    

    【讨论】:

      【解决方案2】:

      以下子查询将为您提供所需的结果。您不需要使用自联接。

      select emempid, e.empname, (select m.empname from employees m where m.empid = e.managerid) as managername
      from employees e 
      

      【讨论】:

        猜你喜欢
        • 2023-03-17
        • 2020-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-05
        • 2016-05-18
        • 2022-11-28
        • 2023-03-18
        相关资源
        最近更新 更多