Flere etterkommere i slektskapsrelasjoner i Python
I forrige leksjon kunne en far bare ha
én sønn. Dette ble oppnådd ved at
faren hadde en relasjon son_id.
La oss nå si at en far kan ha flere
sønner. I dette tilfellet kan vi fortsatt
kun lage én tabell, som vil være
koblet til seg selv. Bare i relasjonsfeltet
vil vi lagre ikke id til sønnen, men id
til faren. På denne måten kan flere brukere
referere til sin far - og dermed
vil faren ha flere sønner:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
Man kan få en bruker sammen med hans far på følgende måte:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
La oss si at vi har brukere. Hver bruker har en far og en mor. Beskriv lagringsstrukturen.
Skriv en spørring som henter brukeren sammen med hans far og mor.