Powiedzmy masz następującą tabelę:Getting hierarchii dane z własnym przedstawieniu tabelach
items(item_id, item_parent)
... i to jest samodzielnym przedstawieniu stół - item_parent
dotyczy item_id
.
Jakie zapytanie SQL użyjesz do WYBIERZENIA wszystkich elementów w tabeli wraz z ich głębokością, gdzie głębokość elementu jest sumą wszystkich rodziców i dziadków tego przedmiotu.
Jeśli Poniżej znajduje się treść tabeli:
item_id item_parent
----------- -----------
1 0
2 0
3 2
4 2
5 3
... zapytanie należy pobrać następujący zestaw obiektów:
{ "item_id": 1, "głębokość": 0 }
{ "item_id" 2 "głębokości": 0}
{ "item_id": 3, "głębokość" 1}
{ "item_id": 4, "głębokość" 1}
{” item_id ": 5," depth ": 2}
P.S. Szukam podejścia obsługiwanego przez MySQL.
Wyszukaj "Rekurencyjny CTE". – RBarryYoung
Jaka baza danych i wersja? Zapytania rekursywne są specyficzne dla dostawcy, jeśli w ogóle są obsługiwane. – RedFilter
@RBarryYoung: Zakłada się, że używa on MS SQL Server. –