Wyobraźcie sobie baze danych w której w jednej tabeli jest drzewiasta struktóra. Chodzi o to, że każdy element może zawierać być przypisany do innego elementu - rodzica. Ta struktura to ma być drzewko zawierające menu dla stronki www. Każdy element posiada id, nazwe i id_rodziaca, jeżeli id_rodzica=0 to znaczy, że element należy do korzenia drzewa.
Przykład:
- id=1; element1; parent=0
- id=3; element3; parent=1
- id=4; element4; parent=3
- id=5; element5; parent=1
- id=3; element3; parent=1
- id=2; element2; parent=0
...i tak można sobie zagnieżdzać, z tym, że każdy element może mieć wielu sąsiadów.
Problem polega na tym, żeby mając do dyspozycji id dowolnego elementu pobrać jednym zapytaniem sql wszystkich jego sąsiadów, rodzica i sąsiadów rodzica i tak w górę drzewa aż do węzła 0.
Próbowałem SUBQUERY SELECT ale za każdym razem może być inna głębokość drzewa, może jakąś funkcję sql trzeba napisać? Pomocne wszystkie wskazówki albo łącze do jakiegoś rozwiązania. Dzięki!