mysql父子关系表_mysql – 如何使用表父子关系与SQL仅选择一代分层树?

假设有一个名为people的表,其中包含以下列:

> person_id(整数)

> parent_person_id(整数)

> name(varchar)

现在,假设表格已经填充,名称值只是字母(A,B,C,D ……).考虑到每个人的父母,我们最终得到了一个像下面那样的分层树.值的格式如下:

person_id,parent_person_id,name

> 1,1,A

> 2,2,B

> 3,2,C

> 4,3,D

> 5,2,E

> 6,5,F

> 7,6,G

> 8,6,H

考虑上面的结构,A& B作为第一代,C& E作为第二代,D& F作为第三代和G& H作为第四代.对于第一代元素,parent_person_id等于元素的person_id.

我需要编写一个查询,允许我从树的某一代(第一,第二,第三,第四等)中选择名称.结果,我可以得到一个表格,其中包含来自某一代人的用户名.例如:

第一代

person name | parent name

A | A

B | B

第二代

person name | parent name

C | B

E | B

第三代

person name | parent name

D | C

F | E

第四代

person name | parent name

G | F

H | F

我想传递一个参数来定义每一代应该在下面的查询中列为子代.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值