MySQL заявка или съхранена процедура, която се извиква рекурсивно и връща всички възли за избрания родител

id | parent_id | name
-------------------------
1  | null      | World
2  | 1         | Sri Lanka
3  | 1         | America
4  | 2         | South Province
5  | 2         | Western Province
6  | 4         | Galle
7  | 6         | Wakwella
8  | 3         | New York

Имам нужда от MySQL заявка или съхранена процедура, която се извиква рекурсивно и връща всички възли, дъщерни възли и листови възли за избрания "id".

Като пример:

Когато искам да избера всички деца на id=2 Резултатът трябва да бъде,

South Province
Western Province
Galle
Wakwella

Когато искам да избера всички деца на id=3 Резултатът трябва да бъде,

New York

person chathun    schedule 31.10.2013    source източник


Отговори (1)


на подобен въпрос беше отговорено тук: https://dba.stackexchange.com/questions/7147/find-highest-level-of-a-hierarchical-field-with-vs-without-ctes/7161#7161

За това трябва да използвате съхранени процедури.

person Ruben Verschueren    schedule 31.10.2013