mysql 如何根据父级字段得到所有子级
来源:互联网 发布:查重率软件 编辑:程序博客网 时间:2024/06/05 03:34
给出表格,表命名为t_boy
id son(儿子) father(父亲)
1 f1 f2
2 f2 f3
3 f3 f4
4 f4 f5
5 f5 f6
现给出f4,找出他所有后代?
首先最简单的方法是,通过连接进行查询。如下:
SELECT t1.*, ID.level
FROM t_boy t1, (
SELECT A.name AS A, B.name AS B, C.name AS C, D.name AS D, E.name AS E, F.name AS F,
CASE
WHEN ISNULL(F.name) THEN 5
WHEN ISNULL(E.name) THEN 4
WHEN ISNULL(D.name) THEN 3
WHEN ISNULL(C.name) THEN 2
WHEN ISNULL(B.name) THEN 1
ELSE 0
END AS LEVEL
FROM t_boy A
LEFT JOIN t_boy B ON B.father = A.name
LEFT JOIN t_boy C ON C.father = B.name
LEFT JOIN t_boy D ON D.father = C.name
LEFT JOIN t_boy E ON E.father = D.name
LEFT JOIN t_boy F ON F.father = E.name
WHERE A.name = 'f6'
) ID
WHERE t1.name IN(ID.B, ID.C, ID.D, ID.E, ID.F);
2.通过递归方式,你准备好了吗?
- mysql 如何根据父级字段得到所有子级
- mysql 根据子级id查询其所有的父级的
- Mysql得到某个表的所有字段
- mybatis根据父级编号获取所有的子级
- 根据表名得到除主键外的所有字段
- mysql 根据子分类获取所有父类
- MySQL中根据父节点查询其所有子节点
- mysql 根据id查询所有子节点/父节点
- mysql sql 根据父级id查询书所有的子孙级数据,或根据子级id查询对应的父级
- MySQL中进行树状所有子节点的查询 . mysql根据父id 查询所有的子id
- 根据表名得到除主键外的所有字段及字段类型
- MySQL得到一个表的所有字段的信息
- 如何得到一个数据表的所有数字型字段???
- sql 递归函数,根据父级ID获取所有子级(含自己)
- 根据id查询出所有的父级和子级
- 如何得到文件夹下所有的子文件夹名称
- 根据表名得到除主键外的所有字段用来Update
- Mysql中的递归层次查询(根据父节点查找所有的子节点和根据子节点查询所有的父节点)的两种运用
- Springmvc构造RESTful详细讲解
- Mac升级nasm
- An abandoned sentiment from past
- 关于百度地图提示,key验证出错 230
- java中extends与implements的区别浅谈
- mysql 如何根据父级字段得到所有子级
- MFC体系
- HTML5粒子特效
- Java后台开发精选知识图谱
- 常用CSS片段
- SMO计算思路
- JavaScript:Getting Started
- QuartZ 快速入门
- linux下 驱动模块编译步骤