mysql 根据子级id查询其所有的父级的
2017-11-13 20:59
281 查看
1、用户表准备
建立一张用户表:tb_user
表字段为:user_id,user_name,parent_id,其关系为:
2、运行sql语句
SELECT T2.user_id, T2.user_name
FROM (
SELECT
@r AS _id,
(SELECT @r := parent_id FROM tb_user WHERE user_id = _id) AS parent_id,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 17, @l := 0) vars,
tb_user h
WHERE @r <> 0) T1
JOIN tb_user T2
ON T1._id = T2.user_id
ORDER BY T1.lvl DESC
得到结果为:
其中
[b]@r := 17 表示 user_id为17的用户[/b]
建立一张用户表:tb_user
表字段为:user_id,user_name,parent_id,其关系为:
2、运行sql语句
SELECT T2.user_id, T2.user_name
FROM (
SELECT
@r AS _id,
(SELECT @r := parent_id FROM tb_user WHERE user_id = _id) AS parent_id,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 17, @l := 0) vars,
tb_user h
WHERE @r <> 0) T1
JOIN tb_user T2
ON T1._id = T2.user_id
ORDER BY T1.lvl DESC
得到结果为:
其中
[b]@r := 17 表示 user_id为17的用户[/b]
相关文章推荐
- 根据id查询出所有的父级和子级
- Mysql 根据id查所有父级或子级
- mysql sql 根据父级id查询书所有的子孙级数据,或根据子级id查询对应的父级
- Mysql 根据id查所有父级或子级
- 根据id查询所有子节点/父节点,mysql 以及ssm前后台处理流程
- mysql 根据id查询所有子节点/父节点
- mysql 创建函数(根据子类,依据父类id,循环查询出所有父类名)
- mysql 如何根据父级字段得到所有子级
- 根据子级ID获取其所有父级
- MySQL中进行树状所有子节点的查询 . mysql根据父id 查询所有的子id
- mysql中使用递归实现父级部门所有子级信息的查询
- sql 递归函数,根据父级ID获取所有子级(含自己)
- mysql 根据子类id查询所有父类id
- MySQL中进行树状所有子节点的查询 . mysql根据父id 查询所有的子id
- 无限极分类mysql存储过程编写实现调用时给定一个id,返回其所有父级与子级并排序
- SQL递归函数列出父级的所有子级(ID ParentID模式)
- (转)MySql 获取所有级联父级或所有级联子级
- mysql in根据查询id排序
- mysql从子类id查询所有父类
- Mysql根据id查询上下条数据(解决上一篇下一篇问题)