Rich Bitch Posted November 24, 2010 Report Share Posted November 24, 2010 Man ir db ar tabulu "karte". Tabulas lauki: id, title, parent_id. Title laukā glabājas vietas nosaukums, bet parent_id laukā apgabala/vietas id no šīs pašas tabulas, kur šis objekts/vieta atrodas. Ja parent_id laukā ir 0, tad tas nekur neatrodas, bet atrodas "koka" pašā augšā. Piemēram šādi dati tabulā: 1 | Rīga | 0 2 | Pārdaugava | 1 3 | Āgenskalns | 2 4 | Nometņu iela | 3 utt. Kā lai uztaisa vaicājumu/meklēšanu, lai attēlotu visus elementus kas ir šajā "kokā" zemāk, ja lietotājs, piemēram, pieprasa "WHERE parent_id = 1". Cerams, ka domu sapratāt Quote Link to comment Share on other sites More sharing options...
101111 Posted November 24, 2010 Report Share Posted November 24, 2010 Nezinu vai prinicpā MySqlā ir iespējami tādi rekursīvi selekti. Pēdējo reizi kad man ko tamlīdzīgu vajadzeja darīt es ar php izveidoju funkcijas, ar kuru palīdzību var meklēt (piemēram apakšelementus) šādā kokā. Quote Link to comment Share on other sites More sharing options...
Uldis Posted November 24, 2010 Report Share Posted November 24, 2010 (edited) Vienkāršāk nebūs izdalīt atsevišķas tabulas? Pilsēta, rajons, iela ? Tā vismaz ir redzēts, ka dara pie lielajām DB. Edited November 24, 2010 by Uldis Quote Link to comment Share on other sites More sharing options...
Gints Plivna Posted November 24, 2010 Report Share Posted November 24, 2010 DBVS??????? Interesanti, cilvēki saprot, ka, prasot koda gabalu, piemēram, burbuļa kārtošanas metodei, ir jāpasaka, vai to vajag C, PHP vai Javā. Bet tai pašā laikā saprast to, ka katrā DBVS ir pietiekami lielas atšķirības starp SQL dialektiem, nekādi nespēj. Vai arī tie, kas darbojas ar PHP, principā neko citu kā MySQL nekad neizmanto? ;) Nespēju reāli šo lietu vienkārši nekādi saprast :O OK beidzu moralizēšanu un saku, ka MySQLam vispārīgam gadījumam rekursīvu vaicājumu nav. Noteiktam skaitam var izmantot pašsavienojumus tik reizes cik vajag. Skat sīkāk rekursīvie vaicājumi, kur ir arī saite uz rekursīva modeļa pieraksta veidu, kur visu bērnu atlasīšanu var dabūt arī MySQLā. Gints Plivna http://datubazes.wordpress.com Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.