Ik wil een categorieweergave systeem programmeren, deze categorien zijn met elkaar verbonden in een parent/child structuur.
de tabel die ik denk te gaan gebruiken ziet er als volgt uit:
parent_id verwijst naar een bestaande categorie in cat_id tenzij deze gelijk is aan 0
stel dat ik de volgende recordstructuur heb:
Ik vraag me af of het mogelijk is om in mySQL in een keer alle niveaus te selecteren met een statement. Natuurlijk kan ik dit in mijn applicatielaag afhandelen met een iteratie, maar het lijkt me veel leuker dit te laten met een enkel SQL statement
de tabel die ik denk te gaan gebruiken ziet er als volgt uit:
code:
1
2
3
4
5
6
| Field Type Key Default Extra --------- ----------- ------- ------ ---------- -------------- cat_id int(8) PRI (null) auto_increment naam varchar(50) YES (null) parent_id int(8) 0 |
parent_id verwijst naar een bestaande categorie in cat_id tenzij deze gelijk is aan 0
stel dat ik de volgende recordstructuur heb:
code:
dan is het voorzover ik weet mogelijk om met 1 SQL statement alle records van 1 niveau te selecteren (...where parent_id = cat_id).1
2
3
4
5
6
7
8
9
10
11
| - 1. Fiets
- 2. Wiel
- 3. Wielframe
- 4. Spaken
- 4. Ventiel
- 2. Stuur
- 3. Handvat
- 3. Bel
- 3. Handrem
(het getal representeerd het niveau in de boomstructuur) |
Ik vraag me af of het mogelijk is om in mySQL in een keer alle niveaus te selecteren met een statement. Natuurlijk kan ik dit in mijn applicatielaag afhandelen met een iteratie, maar het lijkt me veel leuker dit te laten met een enkel SQL statement
| To acknowledge what is known as known and what is not known as known is knowledge. |