Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PostgreSQL] Struktura drzewiasta.
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
MikroUser
Witam.

Jak zrealizować w PgSQL:

proste drzewko na tabelce? np:

tabela
Root_ID|ID|Opis
1|1|Katalog1
1|2|Katalog1.2
1|3|Katalog1.3
2|4|Katalog1.2.4
2|5|Katalog1.2.5

jak wykonać zapytanie w (PgSQL) żeby zwróciło mi z tego drzewa:

  1. Katalog1
  2. / \
  3. Katalog1.2 Katalog1.3
  4. / \
  5. Kat1.2.4 Kat1.2.5

Zapytanie -> Wynik:
  1. Poziom | Nazwa
  2. 0 | Katalog1
  3. 1 | Katalog1.2
  4. 2 | Katalog1.2.4
  5. 2 | Katalog1.2.5
  6. 1 | Katalog1.3


Dziękuję za odpowiedź.

PS. Poszukałem trochę w sieci ... nie mogę znaleźć jakiegoś dobrego przykładu. Odpowiednik jest connect by .. ale jak tego użyć?
DeyV
Poszukaj czegoś na temat IPtree albo drzewek Depesz'a np.
http://forum.php.pl/index.php?showtopic=4037&hl=drzewka
http://forum.php.pl/index.php?showtopic=40622&hl=depesz


Można też mniej więcej tak:

http://forum.php.pl/index.php?showtopic=39260&hl=tree
Ogotay
Od paru dni zmagam sie z identycznym problemem.
Podane linki chyba traktuja temat znacznie szerzej, ja po prostu chce selecta, ktory zwroci posortowane drzewo.
Myslalem o rekurencji w pl/pgsql ale nie wiem jak sie do tego zabrac

co do connect by to jest ponoc jakis patch, ale nie mam mozliwosci z niego skorzystac

MikroUser jak cos znajdziesz to daj znac.
sf
"chyba"

niektórzy po prostu nie umieją/nie chce im się dokładniej poszukać

był podany link do rozwiązania i nie ma tam żadnej rekurencji przy zwracaniu całego drzewa
Ogotay
"Chyba" napisales bardzo pomocny post.
Jesli nie masz ochoty pomoc mniej doswiadczonym, to nie pomagaj, ale daruj sobie ten mentorski ton.

Do podanych linkow oczywiscie zajrzalem, ale chcialbym poznac rozwiazanie (rowniez rekurencyjne) tego problemu dla tabeli o strukturze jak ta z postu MicroUsera.


MicroUser sprawdz ten link:

http://www.thescripts.com/forum/thread66221.html

Znalazlem tam to czego szukalem
MikroUser
Ogotay ma rację nie ma co się wymądrzać. Po to jest ta lista żeby się dowiadywać nawet o największej głupocie.

Dzięki za podpowiedzi.

Skorzystałem z linka Ogotaya winksmiley.jpg


Pozdrawiam,
MikroUser
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.