mysql获取所有子级节点
SELECT
t3.id,
t3.department_parent_id,
t3.department_name
FROM
(
SELECT
t1.id,
t1.department_parent_id,
t1.department_name,
IF
( find_in_set( department_parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
FROM
( SELECT id, department_parent_id, department_name FROM department t ORDER BY department_parent_id, id ) t1,
( SELECT @pids := 34 ) t2
) t3
WHERE
ischild != 0
ps: department为表名,通过id和department_parent_id字段进行判断上下级关系,上面@pids := 34此处是父级节点的id,替换此处即可,搜索结果如下

该篇博客详细介绍了如何使用MySQL查询具有层级关系的数据表中的所有子级节点。通过一个示例查询语句,展示了如何利用find_in_set和concat函数结合用户变量实现递归查找,其中@pids初始化为父级节点ID。查询结果能够有效地展示出以特定父节点为根的所有子节点信息。
7171

被折叠的 条评论
为什么被折叠?



