Beste Iedereen,
Ik ben een website aan het maken waar ik een aantal getallen in wil berekenen.
De hoofdmodule waar het om gaat is een groepen module (tblGroepen). Groepen kunnen oneindig diep aan elkaar worden toegevoegd.
Groepen staan met elkaar gekoppeld doormiddel van een koppel veld.
Elk record heeft als ID veld Grp_ID.
Een gekoppeld record heeft het Grp_ID van de bovenliggende groep in het veld Grp_Grp_ID staan.
In elke groep kunnen aparte records worden toegevoegd in een andere tabel (tblFotos)
De foto's staan gekoppeld met het veld Fot_Grp_ID.
De groepering ziet er zo uit:
Ik heb deze groepen structuur:
- Hoofdgroep 1
- - Subgroep 1
- - - Sub Subgroep 1
- - - Sub Subgroep 2
- - Subgroep 2
- - Subgroep 3
- - - Sub Subgroep 1
- - - Sub Subgroep 2
- - - Sub Subgroep 3
- - - - Sub Sub Subgroep 1
Nu wil ik voor Hoofdgroep 1 weten hoeveel foto's er in ALLE subgroepen en in ALLE sub subgroepen en in ALLE sub sub subgroepen zitten.
Het probleem waar ik nu tegen aan loop is dat ik bij de hoofdgroep wil tellen hoeveel foto's er binnen vallen.
Oftewel van elke subgroep binnen de hoofdgroep moet ik de foto's tellen.
Ik programmeer al wat jaren maar ik weet gewoon niks te bedenken hoe ik dit sql technisch in 1 query kan maken zonder in PHP te hoeven loopen.
Ik hoop dat iemand mij kan helpen een zetje in de goede richting te geven.
Alvast bedankt!
Gr. Robert
- Aantallen van alle onderliggende groepen ophalen
-
01-06-2012, 22:04 #1
- Berichten
- 482
- Lid sinds
- 15 Jaar
Aantallen van alle onderliggende groepen ophalen
-
In de schijnwerper
Senior Designster - top kwaliteit - 16 uur per week - per maand - 350 euroFreelance / WerkAffiliate link poster V1.0 - Automatisch affiliate links posten in blogs - WP pluginPHP scripts[NIEUW] VPS aanbod Webmedia - Nijmegen B.V.HostingSupersnelle WordPress Webhosting vanaf € 3,00 per maandHosting -
01-06-2012, 22:13 #2
Control Alt Delete
- Berichten
- 73
- Lid sinds
- 13 Jaar
Re: Aantallen van alle onderliggende groepen ophalen
Met 1 query gaat het niet lukken denk ik. Met 2 query's en wat PHP denk ik wel. Eerst moet de de id's van de groepen zien op te halen. Indien je DB goed is opgebouwd moet dat te doen zijn. Daarna kun je aan de hand van die id's de juiste foto's ophalen:
select * from photos where group_id in (" . Implode(', ', $group_ids) . ")
-
01-06-2012, 22:15 #3
- Berichten
- 482
- Lid sinds
- 15 Jaar
Re: Aantallen van alle onderliggende groepen ophalen
Beste M Gerritsen,
Als ik dat op die manier doe, kan ik helaas toch maar van 1 subgroep diep de foto's tellen.
Gr. Robert
-
04-06-2012, 19:14 #4
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Aantallen van alle onderliggende groepen ophalen
Dit is inderdaad het nadeel van parent Id's
Dan zit je al veel snel op recursion (wat traag is) of een complexe self join welke je ook steeds zou moeten aanpassen.
Beter zou je eens kunnen gaan kijken naar modified preorder tree
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic