gpt4 book ai didi

sql - 查询在同一个表中用名称替换 ID?

转载 作者:行者123 更新时间:2023-12-02 16:34:37 27 4
gpt4 key购买 nike

谁能帮我弄清楚这个 SQL 查询?

我有下表:

ID | Name | ManagerId
1 | Alice | 4
2 | Bob | 4
3 | Carol | 4
4 | Xavier | 5
5 | Zack | NULL

我希望新表看起来像这样:

ID | Name | Manager Name
1 | Alice | Xavier
2 | Bob | Xavier
3 | Carol | Xavier
4 | Xavier | Zack
5 | Zack | NULL

所以基本上我想将第三列从“ManagerId”替换为“Manager Name”,其中所有信息都在同一个表中检索。

谁能帮我查询一下?

我在想类似下面的东西,但它甚至没有编译:

WITH EmployeeCTE AS
(
SELECT *, ID, Name, ManagerID OVER(PARTITION BY ID ORDER BY ID)
FROM Employee
)
SELECT ID, Name, EmployeeCTE.Name as "Manager Name"
FROM EmployeesCTE

我又做了一次尝试,但很快就被难住了:

SELECT ID, Name, ??
INNER JOIN Employee ON ID = Employee.ID
FROM Employee

最佳答案

只需使用一个join:

select e.*, m.name as manager_name
from employee e left join
employee m
on e.managerid = m.id

关于sql - 查询在同一个表中用名称替换 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62886914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com