08. juni 2002 - 20:16Der er
11 kommentarer og 1 løsning
Select id + parent's id + parent's id [+ ...]
Jeg har en tabel med bl.a. to kolonner: id og parentid. Jeg har nu en given id, og jeg vil gerne med ét kald - fra det foranliggende ASP-script - udtrække rækken med denne id, rækken med den id som den netop udtrukne har som parentid, osv. osv. Kan det lade sig gøre?
Nej, den dur ikke :o) Den skal jo fungere ligesom en rekursiv procedure ville i et ASP-script. Dvs. at den record du får ud skal der igen findes en parent på - og på denne endnu en parent - og sådan skal den fortsætte 'op i hierakiet' til parentid er lig 0.
tmceu>I may be missing something here but as far as I can se this only gives a parent child relationship for one level only. You can only see if a parent has children not childrens children. For example:
ID, ParentID 1 0 2 1 3 0 4 2
In this simple example ID 1 has child (ID = 2) and that child(ID = 2) also has a child (id = 4)
So if I want to see the family of ID 1 then I cant! Or can I?
For ease of verification, you can see that each record relates to the previous one in the table. To prove that it works, try to break the relationships, by changing a parent to some non-existing value somewhere in the middle :-)
Well det bliver måske alligevel ikke lige iaften. Har et projekt at lægge de sidste hænder på. Men en af de følgende dage. Jeg vælger at acceptere dit svar nu, men håber du vil hjælpe hvis jeg støder ind i problemer. Hvis du ønsker flere points er jeg ikke den der er nærig.
Netop hvad jeg havde håbet =o) Eksemplet fra 4GuysFromRolla virker fint, men jeg vil gerne have ordnet mine udtræk, så de kommer i den rigtige rækkefølge - hvilket er: - Hejsa1 - Hejsa1.Hej1 - Hejsa1.Hej2 - Hejsa1.Hej3 - Hejsa2.Hej1 - Hejsa2.Hej2 osv. Iøvrigt giver eksemplet: SELECT * FROM tabel1 AS t1 JOIN tabel1 AS t2 ON t1.ID = t2.ParentID ikke resultater fra det øverste niveau. Det skal siges, jeg har en hjælpekolonne, der hedder nLevel som går fra 0..2 - den kan måske bruges til noget?
tmceu>If I want to ONLY show the family of a specific ID, then WHAT do I use for the WHERE clause?
In you SIMPLE example I can see that is no problem but lets say there is MORE than one top LEVEL and I want to see a specific top level NODE and all child nodes to THAT top level.
Synes godt om
Ny brugerNybegynder
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.