数据库表名为app_user_group,表结构为id,pid,level,create_by,level为下级层级,另一个表为app_user,表结构为id,name,phone,pwd,invite_code(邀请码为id),要求查询出一个用户的所有下级以及下级的层级
时间: 2024-06-09 16:07:22 浏览: 9
可以使用 SQL 语句进行查询,具体如下:
```
SELECT
u.id, u.name, u.phone, u.pwd, u.invite_code, g.level
FROM
app_user u
JOIN
app_user_group g ON u.id = g.id
WHERE
g.pid = [目标用户的 id]
```
这条 SQL 语句会返回目标用户的所有下级用户信息,以及它们的层级信息。其中,`[目标用户的 id]` 需要替换成实际的目标用户 id。
如果想要查询所有下级用户,可以使用递归查询。例如,假设目标用户的 id 为 1,可以使用如下 SQL 语句:
```
WITH RECURSIVE sub_users AS (
SELECT
id, name, phone, pwd, invite_code, 1 AS level
FROM
app_user
WHERE
id = 1
UNION ALL
SELECT
u.id, u.name, u.phone, u.pwd, u.invite_code, g.level + 1 AS level
FROM
app_user u
JOIN
app_user_group g ON u.id = g.id
JOIN
sub_users s ON g.pid = s.id
)
SELECT
id, name, phone, pwd, invite_code, level
FROM
sub_users
WHERE
id <> 1
```
这条 SQL 语句会返回目标用户的所有下级用户信息,以及它们的层级信息。其中,`id <> 1` 是为了排除目标用户本身。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)