gpt4 book ai didi

mysql - SELECT 单个表中的行的祖父 - SQL

转载 作者:行者123 更新时间:2023-11-29 21:58:04 25 4
gpt4 key购买 nike

我有一个包含以下假设数据的表格:

ID | Name    | managerId
---|---------|-----------
1 | James | 2
2 | Martin | 4
3 | Huges | 5
4 | Richard | NULL
5 | Kavin | 4
6 | Rita | 3

在上表中我们有:

理查德是马丁的经理,也是詹姆斯的经理。

理查德是经理卡文是休斯的经理是丽塔的经理。

现在我必须在此表中选择员工的直属经理和高级经理。我的意思是,如果我们从 Rita 开始,我必须选择 Huges(直接经理)和 Richard(高级经理)。

如何做到这一点。我完全不知道。

编辑:
没有任何特定级别的管理人员。员工可以在层次结构中为经理指定“n”个数字,其中 n ϵ {0,1,2,3.....}

最佳答案

因为您只需要两个级别,所以通过两次自连接来完成此操作是非常可行的。另外,您可能需要左连接:

select t.*, tm.name as managername, tmm.name as manager_managername
from t left join
tm
on t.managerId = tm.id left join
tmm
on tm.managerId = tmm.id;

您可以添加 where t.name = 'Rita'

如果您必须达到任何级别,那么您一定应该查看此question 。简而言之,您可能需要另一个数据结构来处理 MySQL 中的此类查询。

关于mysql - SELECT 单个表中的行的祖父 - SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32932846/

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