Mam tabelę w bazie danych "kategorie" niektóre kategorie mają swoje podkategorie.
Kategorie
id |
id_parent |
nazwa |
1
|
0 |
Kategoria 1 |
2 |
0 |
Kategoria 2 |
3 |
2 |
Kategoria 2.1 |
4 |
2 |
Kategoria 2.2 |
5 |
2 |
Kategoria 2.3 |
6 |
0 |
Kategoria 3 |
7 |
6 |
Kategoria 3.1 |
8 |
6 |
Kategoria 3.2 |
9 |
0 |
Kategoria 4 |
Jak za pomocą jednego zapytania SQL Otrzymać wynik na wzór drzewka:
Kategoria 1
Kategoria 2
--> Kategoria 2.1
--> Kategoria 2.2
--> Kategoria 2.3
Kategoria 3
--> Kategoria 3.1
--> Kategoria 3.2
Kategoria 4
Czytałem, że można zrobić zapytanie rekurencyjne aby coś takiego uzyskać jednak z wszelkich wpisów na ten temat nie potrafię za wiele zrozumieć. Co jeszcze dziwniejsze jedni piszą, że w SQL nie ma rekurencji inni podają żywe przykłady że to jest możliwe i w końcu nie wiem już czy da się czy nie da się a jak da to w jaki sposób. Próbowałem użyć przykładu z tej strony, konkretnie listing 5 http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html jednak nie działa to u mnie.