Recursie in SQL
Ik heb een tabel:
Wanneer ik nu als resultaat: A B C D E
Met andere woorden, ik wil de parent hebben (1) met al zijn childeren en daar weer zijn childeren van etc.
Wanneer ik resultaat op vraag van C krijg ik enkel deze
maar wanneer ik dus D op vraag krijg ik D E
Kortom, positie met childeren.
Iemand idee hoe dit mogelijk is?
Gewijzigd op 22/04/2012 00:44:59 door Wim E
http://www.pfz.nl/wiki/hierarchie-in-een-database/
Ik kan helaas even geen betere uitleg vinden, maar op PFZ staat een redelijk overzicht: Gewijzigd op 22/04/2012 10:49:59 door Jelmer -
@Ger, Bedankt voor de suggestie, echter is dit niet wat ik zoek.
Ik kan recursie en snap de principes. Mij ging het (zoals je ook in mijn titel ziet) recursie in SQL. Ik wil gewoon niet te vaak een request op de database doen en het liefst de database zelf het laten oplossen.
Wellicht even een ruwe schets om probleem in algemeen te verduidelijken.
Ik heb een arrangement, deze bestaat uit een verzameling van producten.
Een product kan onderdeel van een groter product zijn. Dus:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Arrangement: Picknick met fietsen
Producten zijn:
- fiets
- picknick
- - brood
- - melk
- - boter
- - jam
Producten zijn:
- fiets
- picknick
- - brood
- - melk
- - boter
- - jam
Nu wil ik op basis van deze producten mensen de mogelijkheid geven mutaties te maken op een arrangement. Met andere woorden, in de picknick willen ze ipv brood, bolletjes.
Om gebruikers de juiste keuze te geven voor het verwisselen heb ik product categorieën zodat ik in mijn code kan afdwingen dat bij het wijzigen van een product, of toevoegen restricties kan opleggen in mijn view logica.
Iemand idee?
Toevoeging op 23/04/2012 09:26:05:
Bump
Bump
Dit zou kunnen werken als je weet hoeveel niveaus je diep kunt gaan, op het moment dat het niet zo is zal je dat als je de logic in de database wilt houden moeten oplossen met stored routines.