Множество наследници в роднински връзки в PHP
В предишния урок бащата можеше да има само
един син. Това се постигаше чрез това,
че бащата имаше връзка son_id.
Нека сега бащата да може да има няколко сина.
В този случай все още можем да направим
само една таблица, която ще бъде свързана
сама със себе си. Само в полето за връзка ще съхраняваме
не id на сина, а id на бащата. В този
случай няколко потребителя ще могат да се обърнат
към своя баща - и по този начин бащата ще има
няколко сина:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
Да се получи потребителя заедно с неговия баща може по следния начин:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Нека имаме потребители. Всеки потребител има баща и майка. Описвайте структурата на съхранение.
Напишете заявка, която ще извлече потребителя заедно с неговия баща и майка.