Veelvuldige Afstammelinge in Verwantskapsverhoudings in PHP
In die vorige les kon 'n vader slegs
een seun hê. Dit is bereik deurdat
die vader 'n skakel son_id gehad het.
Laat ons nou aanneem 'n vader kan verskeie seuns hê.
In hierdie geval kan ons steeds net
een tabel maak, wat aan homself gekoppel
sal wees. Slegs in die skakelveld sal ons
nie die id van die seun stoor nie, maar die id van die vader. In hierdie
geval sal verskeie gebruikers kan verwys
na hul vader - en sodoende sal die vader
verskeie seuns hê:
| id | naam | vader_id |
|---|---|---|
| 1 | gebruiker1 | 3 |
| 2 | gebruiker2 | 3 |
| 3 | gebruiker3 | 4 |
| 4 | gebruiker4 | null |
Om 'n gebruiker saam met sy vader te kry, kan op die volgende manier gedoen word:
SELECT
gebruikers.naam as gebruiker_naam,
vaders.naam as vader_naam
FROM
gebruikers
LEFT JOIN gebruikers as vaders ON vaders.id=gebruikers.vader_id
Laat ons aanneem ons het gebruikers. Elke gebruiker het 'n vader en 'n moeder. Skryf die bergingstruktuur uiteen.
Skryf 'n navraag wat die gebruiker saam met sy vader en moeder sal kry.