Avatar billede StockholmSyndrome Nybegynder
01. juni 2009 - 18:29 Der er 3 kommentarer

Nested Joins?

Hejsa,

Jeg har en tabel med en masse kategorier i, tabelen skal generere en træstruktur! Mit problem er at tabellen indeholder en masse forskellige kategorier hvor ikke alle skal bruges, det eneste jeg ved er at Rod-kategorien har id=100. Det jeg gerne vil er at joine alle underliggende kategorier hvis parentid er = 100 i første iteration, efterfølgende skal childnodes så joines med deres parents, jeg vil umiddelbart gætte på at man skal loope over hele tabelen (vha. cursor?). Resultatet jeg ønsker er f.eks:

100
..110
....345
....321
......123
..115

Forklaring:

100 er rodnode
110 og 115 er childs til 100
345 og 321 er childs til 110
123 er child til 321


Håber det ga' mening og på forhånd tak! :)
Avatar billede Syska Mester
01. juni 2009 - 20:23 #1
http://www.eksperten.dk/spm/875650#reply_7391264

Prøv at kigge der ... i stedet for at jeg poster samme svar her.

Nok noget ala det du søger.
Avatar billede jb123 Nybegynder
01. juni 2009 - 20:24 #2
Det er et rekursivt query du er ude efter og det er ikke alle databaser, der understøtter dette. Men MS SQL gør. SQL nøgleordet er "WITH" og du kan læse et eksempel på brugen heraf på stackoverflow.com.
  http://stackoverflow.com/questions/239275/how-do-i-create-a-recursive-query-in-mssql-2005

Læs dokumentationen for Common Table Expressions (som WITH er en del af i MS SQL) her:
  http://msdn.microsoft.com/en-us/library/ms186243.aspx
Avatar billede StockholmSyndrome Nybegynder
01. juni 2009 - 21:56 #3
Hej og tak,

Jeg har fundet en løsning som bruger en rekursiv stored procedure - nu er næste problem at for hver gang proceduren bliver kaldt, så skal den gemme en bestemt værdi i en temporær tabel variabel via insert into ... når den så er færdig med at kalde sig selv hvordan får jeg den så til at returnere den temporære tabel-variabel som et resultset?

Håber det ga' mening!
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