26. oktober 2008 - 15:54Der er
4 kommentarer og 2 løsninger
find top lvl id
Hejsa.
Jeg har lavet en slags mini cms hvor det er muligt at oprette uendelige sider og undersider.
Så lad os antage at min side struktur ser sådan ud
- id1:parent0: side1 - id2:parent1: underside til side 1 - id3:parent2: underside til underside id2
Jeg kunne godt tænke mig en metode at finde det første id på, altså første level, når jeg kun kender id3.
Jeg har selv lavet en metode som simpelthen bare looper sig igennem fra id3 parent også op til toppen hvor parent vil være = 0, jeg synes dog ikke det virker ret hensigtsmæssigt (?).
Findes der et smart metode-kald i sql som kan "loope" tilbage igennem min parent/id struktur for at finde f.eks top lvl id'et?
Flere kommuner går nu i gang med at bruge AI-understøttet dokumentation. Målet er, at sagsbehandlere skal bruge mindre tid på referater og registrering – og mere tid på nærvær i mødet med borgeren.
Den løsning du gerne vil undgå, er den rigtigste. I Oracle kan du lave det i én SQL vha. CONNECT BY PRIOR, men i MySQL og andre, er løsningen blot at loope indtil du finder den du leder efter.
coderdk > Når databasen bliver stor (større?) kan det spare en masse tid og cpu at lave en stored procedure der laver et rekursivt kald og returnerer en "flad" liste. Det går noget hurtigere end med alt den snak frem og tilbage mellem webserver og database. Hvis du ikke bruger en stored procedure kunne jeg forestille mig at en eller anden form for cache bliver nødvendig. Jeg har aldrig arbejdet med det i MySQL, så kender ikke mulighederne, men i eks. PostgreSQL er det et lille arbejde.
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.