栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

MySql 子找父,父找子查询节点

MySql 子找父,父找子查询节点

子找父
#递归查询父节点包含当前子节点 不拼接id
SELECt T2.需要查询的字段 FROM (SELECt @r AS _id,(SELECT @r := up_id FROM 表名 WHERe id = _id) AS up_id,@l := @l + 1 AS lvl FROM (SELECt @r :=需要查询的id , @l := 0) vars,表名 h WHERe @r <> 0) T1 JOIN 表名 T2 ON T1._id = T2.id and 可加字段筛选条件 ORDER BY T1.lvl 排序方式
#递归查询父节点包含当前子节点 逗号拼接id
SELECT GROUP_CONCAT(T2.id SEPARATOR',') FROM (SELECt @r AS _id,(SELECT @r := up_id FROM 表名 WHERe id = _id) AS up_id,@l := @l + 1 AS lvl FROM (SELECt @r :=需要查询的id , @l := 0) vars,表名 h WHERe @r <> 0) T1 JOIN 表名 T2 ON T1._id = T2.id and 可加字段筛选条件 ORDER BY T1.lvl 排序方式
父找子
#递归查询子节点包含当前子节点 不拼接id
SELECT DATA.需要查询的字段,DATA.需要查询的字段,DATA.需要查询的字段 FROM(SELECt @ids AS _ids,( SELECT @ids := GROUP_CONCAT(id) FROM 表名 WHERe FIND_IN_SET( up_id, @ids ) ) AS cids,@l := @l + 1 AS LEVEL FROM 表名,( SELECt @ids := 需要查询的id, @l := 0 ) b) id,表名 DATA WHERe FIND_IN_SET( DATA.id, ID._ids ) and 可加字段筛选条件
#递归查询子节点包含当前子节点 拼接id
SELECT GROUP_CONCAT(DATA.id SEPARATOR',') FROM(SELECt @ids AS _ids,( SELECT @ids := GROUP_CONCAT(id) FROM 表名 WHERe FIND_IN_SET( up_id, @ids ) ) AS cids,@l := @l + 1 AS LEVEL FROM 表名,( SELECt @ids := 需要查询的id, @l := 0 ) b) id,表名 DATA WHERe FIND_IN_SET( DATA.id, ID._ids ) and 可加字段筛选条件
#递归查询子节点包含当前子节点 不拼接id并展示节点等级
SELECT ID.LEVEL,DATA.需要查询的字段,DATA.需要查询的字段,DATA.需要查询的字段 FROM(SELECt @ids AS _ids,( SELECT @ids := GROUP_CONCAT(id) FROM 表名 WHERe FIND_IN_SET( up_id, @ids ) ) AS cids,@l := @l + 1 AS LEVEL FROM 表名,( SELECT @ids := 需要查询的id, @l := 0 ) b) id,表名 DATA WHERe FIND_IN_SET( DATA.id, ID._ids ) and 可加字段筛选条件

实际使用情况

使用时请根据具体表名和排序顺序 进行替换。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号