我有一张这样的桌子
**id exType exId depType depId**
1 Ceo 1 Board Of Director 1
2 Board Of Director 1 Manager 4
3 Board Of Director 1 Manager 5
4 Manager 4 TeamLead 1
5 Manager 5 TeamLead 2
6 TeamLead 1 Member 7
7 TeamLead 1 Member 8
8 TeamLead 1 Member 9
9 TeamLead 1 Member 10
10 TeamLead 2 Member 19当我输入作为经理的exType和作为4的exId时,我需要所有成员的输入
Member 7
Member 8
Member 9
Member 10 或者,当我输入作为teamlead的exType和作为1的exId时,我想要所有成员的
Member 7
Member 8
Member 9
Member 10 或者,当我输入作为首席执行官的exType和作为1的exId时,我想要所有成员的输入
Member 7
Member 8
Member 9
Member 10 发布于 2020-05-01 02:14:06
您可以使用递归查询来显示给定节点的所有依赖项:
with recursive cte as (
select depType, depId
from mytable
where exType = 'Manager' and exId = 4
union all
select t.depType, t.depId
from cte c
inner join mytable t on t.exId = c.depId and t.exType = c.depType
)
select * from ctehttps://stackoverflow.com/questions/61529853
复制相似问题