På den måde du har gemt træet på nu, er det ikke muligt at få hele træet i én ren SQL-forespørgsel. Du skal skrive en loop på et andet sprog (C#, lagret procedure, der understøtter loops, ...) for at hente træet.
Dette er en fin artikel, der beskriver, hvordan du arbejder med din måde at opbevare træet på (inklusive at hente træet og fjerne genstande fra træet).
Endnu mere interessant, den artikel beskriver også en måde at gemme træer på i en databasetabel, der gør tillade at hente hele træet i en enkelt forespørgsel. Det hedder forudbestil trægennemgang . Du kan slå det op for mere information. Jeg har fundet en C#-implementering . Det involverer noget mere logik end den måde, du bruger nu, men er mere effektivt for alle undtagen de mindste træer.