Več potomcev v sorodstvenih povezavah v PHP
V prejšnji lekciji je imel oče lahko le
enega sina. To je bilo doseženo z dejstvom,
da je imel oče povezavo son_id.
Naj ima zdaj oče več sinov.
V tem primeru lahko še vedno naredimo
samo eno tabelo, ki bo povezana
sama s seboj. Samo v polju povezave bomo shranili
ne id sina, ampak id očeta. V tem
primeru se bo več uporabnikov lahko sklicevalo
na svojega očeta - in s tem bo imel oče
več sinov:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
Uporabnika skupaj z njegovim očetom lahko dobimo na naslednji način:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Recimo, da imamo uporabnike. Vsak uporabnik ima očeta in mamo. Opišite strukturo shranjevanja.
Napišite poizvedbo, ki bo pridobila uporabnika skupaj z njegovim očetom in mamo.