Avatar billede Slettet bruger
24. maj 2006 - 11:17 Der er 7 kommentarer og
2 løsninger

Søg i rekursiv tabel

Jeg har en tabel, som indeholder rekursive poster. Alle poster har et felt, der hedder "over_id", som referrerer til en post i samme tabel. Hvis "over_id" er 0 Så er posten en "hovedpost" (Ingen forældrepost).

Nu vil jeg gerne søge på feltet "navn" under et bestemt "over_id". Dvs alle poster, der mtcher "navn" under et givent "over_id" også via rekursiv reference skal returneres.

Kan man gøre dette? Eller skal jeg skrive en rekursiv funktion i mit program (et ASP script), der "piller" disse poster ud af basen en for en?
Avatar billede barklund Nybegynder
24. maj 2006 - 11:20 #1
Ikke uden at smide en join per rekursion, hvilket logisk nok aldrig kan blive udtømmende. Men hvis du ikke har "for" mange rækker, kan du nok med fordel laves en hashmap i din asp med samtlige kategorier fra kategori-id til overkategori-id og dette kan du ret hurtigt løbe igennem.
Avatar billede arne_v Ekspert
25. maj 2006 - 02:19 #2
I MySQL er du nødt til selv at gøre det. Oracle kan gøre det i SQL.
Avatar billede Slettet bruger
07. juli 2006 - 09:34 #3
Takker for jeres svar - det endte med at jeg gjorde det på den oplagte/langsomme måde - det irreterer mig god at man ikke umiddelbart kan sortere i det resultat man får ud af en rekursiv funktion - men det er jo et spørgsmål om programmering.

Så er det i øvrigt et ASP script, så vi skal slet ikke begynde at snakke om performance ved mange poster :/

Men jeg vil gerne give jer begge point hvis i svarer. Og undskyld det sene svar - jeg har ikke været på eskperten i lang tid.
Avatar billede arne_v Ekspert
07. juli 2006 - 21:58 #4
ok
Avatar billede arne_v Ekspert
09. juli 2006 - 04:20 #5
barklund ?
Avatar billede Slettet bruger
09. juli 2006 - 11:38 #6
Jeg giver ham lige et par dage - så lukker jeg.
Avatar billede barklund Nybegynder
09. juli 2006 - 13:23 #7
Jeg er her :)
Avatar billede barklund Nybegynder
09. juli 2006 - 13:24 #8
Og jeg er her igen! :)
Avatar billede barklund Nybegynder
09. juli 2006 - 14:24 #9
Taktak :)
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