Vairāki pēcteči radniecībās Python
Iepriekšējā nodarbībā tēvam varēja būt tikai
vienu dēlu. Tas tika panākts, jo
tēvam bija saite son_id.
Tagad pieņemsim, ka tēvam var būt vairāki
dēli. Šajā gadījumā mēs joprojām varam
izveidot tikai vienu tabulu, kas būs
savienota pati ar sevi. Tikai saites laukā
glabāsim ne id dēla, bet id
tēva. Šajā gadījumā vairāki lietotāji varēs
atsaukties uz savu tēvu - un tādējādi
tēvam būs vairāki dēli:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
Iegūt lietotāju kopā ar viņa tēvu var šādi:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Pieņemsim, ka mums ir lietotāji. Katram lietotājam ir tēvs un māte. Izklāstiet uzglabāšanas struktūru.
Uzrakstiet vaicājumu, kas izgūs lietotāju kopā ar viņa tēvu un māti.