Hej, Har aldrig sett något liknande i MSSQL utan har fått lösa det på klientsidan. Men det finns ju sköna DB nissar här inne så det kan ju vara intressant om det går att lösa på nån vänster direkt i databasen... Men min kommentar är alltså att jag tror att du får svårt att be MSSQL att göra det själv... Sök på "hierarkisk data" i forumet (om nu sökningen skulle funka), eller "hierarchich data sql" på google, så får du snart fram en rad olika sätt att lösa det. Ett fint sätt är en metod som har en rad olika (ok, åtminstone två olika) namn; det enda jag kommer på nu är "modified preorder tree traversal". OCH jag är väl en av sqlnissarna som Chris hänvisar till. ...eller byta databasdesign, så funkar den med relativt enkla anrop på alla databassystem.Hierarkisk data i SQL
I Oracle kan man med PL/SQL få fram data från en tabell med ett self-
relationship och få datat sorterat i hierarkisk ordning
T ex:
SELECT idKategorier, OverordnKategori ,KategoriNamn, LEVEL "Nivå" FROM
Kategorier
CONNECT BY OverordnKategori = PRIOR idKategorier
START WITH OverordnKategori Is Null
ORDER SIBLINGS BY KategoriNamn
Där OverordnKategori är främmande nyckel till idKategorier i samma
tabell.
Hur funkar det där i SQL Server 2005??
Vänligen, PerSv: Hierarkisk data i SQL
Sv: Hierarkisk data i SQL
Om du använder den metoden så behöver du inte gå till speciella databasanrop eller lösa det på en klientsidan, utan det räcker med vanlig sql.Sv:Hierarkisk data i SQL
Svaret är att du kan använda en CTE (Common Table Expression)
Det finns t.o.m. ett exempel i BOL på hur du skriver en rekursiv fråga m.h.a. CTE.
CTE finns bara för SQL 2005 och senare, så har du SQL 7/2000 så är du nog fast med en klientlösning.
/mickeSv: Hierarkisk data i SQL