0

我需要进行分层查询,作为附加输出,我需要显示数据树中每个节点的生成。

最大代数是已知的,但是对于不同的祖先,一个节点可能在不同的代中。

最后,我需要一个表格来显示每个第一代条目的所有后代,可能条目出现多次。

起始表(例如:路由查找器,最大代数 3):

ID_object | name_object | ID_parent
-----------------------------------
1         | Bus Line 1  | NULL
2         | Bus Line 2  | 1
3         | Tram Line 1 | 1
4         | Train Line 1| 3
5         | Tram Line 2 | 6
6         | Train Line 2| NULL
7         | Bus Line 3  | 3

结果表应如下所示:

ID_object | name_object | ID_ancestor | ID_parent | Generation
1         | Bus Line 1  | 1           | NULL      | 1
2         | Bus Line 2  | 1           | 1         | 2
3         | Tram Line 1 | 1           | 1         | 2
4         | Train Line 1| 1           | 3         | 3
7         | Bus Line 3  | 1           | 3         | 3
6         | Train Line 2| 2           | NULL      | 1
5         | Tram Line 2 | 2           | 6         | 2

如何有效地计算生成?我的第一个想法,来自更多的过程编程,作为递归,但这在 MySQL 中不起作用......

4

0 回答 0