【发布时间】:2016-12-18 06:18:28
【问题描述】:
我有一个相当简单的自引用表,如下所示:
表 1
id parent_id
1 NULL
2 1
3 NULL
4 1
5 2
6 5
7 2
8 4
我需要生成一个新表,其中每个元素的所有后代都关联。看这个例子:
表 2
element descendants
1 2
1 5
1 6
1 7
1 4
1 8
2 5
2 6
2 7
5 6
4 8
请注意,3 不存在,因为它没有任何子级。
如何使用存储过程来实现这一点?我可以获得直接的父子关系,但我很难获得给定元素的所有后代。
(现实世界的表是 ~15k 行和 ~7 级层次结构,但它的级别不是预定义的,所以假设是 N)
【问题讨论】:
-
@Ben 那是 oracle,我正在使用 MySQL
标签: mysql sql stored-procedures hierarchical-data