group_name
group_id
parent_id
group_path
group_name je ime grupe
group_id je jedinstveni id grupe
parent_id je id roditeljske grupe
group_path su id-ovi svih roditeljskih grupa, tj ako je grupa dublje u hijerahiji onda
nanižemo sve parent_id-ove rastavljene zarezom
ako je grupa na vrhu hijerarhije tada joj je parent_id jednak 0 i group_path je prazan string
(tj varchar). Više grupa može da bude na vrhu hijerarhije (tj. bez roditeljske grupe) i svaka
grupa može da ima proizvoljan broj podređenih podgrupa.
primjer:
Code:
group_name group_id parent_id group_path
-------------------------------------------------------------------------------
Matematika 1 0 ""
Biologija 2 0 ""
Analiza 3 1 1,
Algebra 4 1 1,
Komplexna analiza 5 3 1,3,
Linearna algebra 6 4 1,4,
Vektorski prostori 7 6 1,4,6,
------------------------------------------------------------------------------
group_name group_id parent_id group_path
-------------------------------------------------------------------------------
Matematika 1 0 ""
Biologija 2 0 ""
Analiza 3 1 1,
Algebra 4 1 1,
Komplexna analiza 5 3 1,3,
Linearna algebra 6 4 1,4,
Vektorski prostori 7 6 1,4,6,
------------------------------------------------------------------------------
treba mi upit (ako je moguć) koji će da mi vrati sve nazive grupa u ''pravilnom'' rasporedu tj.
da naniže ime grupe pa imena svih njenih podgrupa (i tako rekurzivno).
Znači za ovaj gore navedeni primjer trebalo bi da vrati nešto ovako:
Biologija
Matematika
Analiza
Komplexna analiza
Algebra
Linearna algebra
Vektorski prostori
znači bitno je samo da podgrupe idu odmah iza svojih
roditeljskih grupa i tako rekurzivno do kraja.
Radim sa MSSQL ali može i u nekom drugom dijalektu SQL-a
Hvala svima unaprijed za sve ideje....