gpt4 book ai didi

MySQL 递归子查询

转载 作者:行者123 更新时间:2023-11-30 01:15:18 24 4
gpt4 key购买 nike

不确定标题是否准确地反射(reflect)了我需要做的事情,并且这个问题可能超出了 Stack Overflow 的范围,因为除了我的问题之外,我没有太多需要处理的内容。我将解释我的情况...

我有一个报告 Web 应用程序。用户分为三个级别:高级经理、经理和团队成员。每个经理负责一个团队。每个高级经理负责一部分经理。

高级经理和经理为其下属撰写报告。目前系统仅允许经理查看其直属下属的报告。然而,该系统将进行调整,以允许高级经理查看有关其经理的报告以及查看经理撰写的有关其团队成员的任何报告。

我有表 team_members 表,它管理用户所在的团队。所以...

Users
--------
uid
forename
surname

team_members
------------
id
leader_id
member_id

leader_id和member_id与users表的主键相关; uid。

因此,作为高级经理,我需要能够生成所有直接团队成员(经理)的列表以及他们的下属列表。有没有办法在一个查询中做到这一点?

最佳答案

我不确定 Herachial 数据是否是您需要/想要的,但这就是您需要的

所有上衣、中衣、普通成员(member)DEMO ,SQL:

select 
IFNULL((SELECT name FROM users where uid=smng.leader_id),(SELECT name FROM users where uid=mng.leader_id))
as top,
(SELECT name FROM users where uid = mng.leader_id)
as middle,
usr.name as regular
from
users usr inner join managers mng on usr.uid=mng.member_id
inner join managers smng on mng.leader_id = smng.member_id

对于指定的高级经理添加:

where smng.leader_id =1

对于指定的中层管理人员,更改为:

where mng.leader_id =2

关于MySQL 递归子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19120384/

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