04. december 2007 - 01:45Der er
6 kommentarer og 2 løsninger
Hvordan laver jeg smartest et udtræk til at konstuere en menu?
Hej,
Jeg har på en hjemmeside en menu i to lag. Tabellerne ku se ud som flg.: Tabel1: ID, Text Tabel2: ID, Text, ParentID
Hvordan laver man dette udtræk bedst? Skal jeg bare lave en INNER JOIN på tabellerne, og så i koden køre udtrækket igennem og lave menuen derfra, eller er der i virkeligheden så få ressourcer forbundet med at lave flere udtræk, at jeg først kan hente fra Tabel1 og derefter et udtræk i Tabel2 for hver række i udtrækket fra Tabel1.
Hvis du laver scriptet således får du først det øverste niveau. Dernæst kommer underpunkterne. Så vidt jeg kan se slipper du ikke for at gennemløbe menuen 2 gange for at opbygge de to niveauer (selvom jeg for mange mange år siden, på et internt Oracle kursus, mindes noget der faktisk genererede et hierarkisk output - kan være det bare er Oracle):
select m.id, m.menutekst_id, m.menutekst_parent_id, mt.tekst from menu m join menutekst mt on (mt.id = m.menutekst_id) order by m.menutekst_parent_id, m.id
arne: Er ovenstående "select" så måden at gøre det på? Jeg synes ikke den er voldsom smart, men man kan jo ikke lave en query der har variabelt antal felter i resultatet?
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.