Avatar billede ramad Praktikant
20. december 2004 - 13:54 Der er 5 kommentarer

Find alle børn under en forælder.

Jeg prøver på at finde ud af hvorledes jeg kan finde alle children under en specifik parent i en dimension.

Et eksempel kunne være:
100
|_101
|_102
    |_111
    |_112
      |_121

Hvis jeg valgte at starte ved parent 102, så skal jeg have 102,111,112 og 121.

Giver det nogen mening, og er der nogen der kan hjælpe?
Det jeg vil have er noget svarende til Connect by og start with, som kan anvendes i Oracle.
Avatar billede tondering Nybegynder
20. december 2004 - 14:33 #1
http://www.adp-gmbh.ch/ora/sql/connect_by.html

er det sådan noget du leder efter ?
Avatar billede ramad Praktikant
20. december 2004 - 14:41 #2
Øhhm, der er da heftig brug af netop "Connect By" og "Start with" i det eksempel du linkede til. Netop de to udtryk har jeg ikke mulighed for at bruge, da jeg arbejder på en MS SQL Server.
Avatar billede trer Nybegynder
22. december 2004 - 09:50 #3
På sql server er du nød til at anvende rekursivitet i stored procedures.  Det er den eneste måde.
Avatar billede trer Nybegynder
22. december 2004 - 09:52 #4
fortsat..

I praksis kan du lige så godt lave et simpelt sql råt script og lave rekursiviteten i din klient fremfor i en SP. Det er nok nemmere at debugge.
07. januar 2005 - 14:36 #5
Du kan også lave to felter "lft" og "rgt"
se http://www.developersdex.com/gurus/articles/112.asp eller google på "sql hierachical data"
Så er det nemt at få fat på alle children til en vilkårlig node.
Det sværeste er at få udfyldt felterne lft og rgt, og så iøvrigt forstå sql delen. Men det kører super godt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester