Jump to content
php.lv forumi

Parent un child ierakstu atlasīšana


Rich Bitch

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...