Некалькі нашчадкаў у сваяцкіх сувязях у PHP
У папярэднім уроку бацька мог мець толькі
аднаго сына. Гэта дасягалася за кошт таго,
што ў бацькі была сувязь son_id.
Хай цяпер бацька можа мець некалькі сыноў.
У гэтым выпадку мы па-ранейшаму можам зрабіць
толькі адну табліцу, якая будзе звязана
сама з сабой. Toлькі ў полі сувязі будзем захоўваць
не 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
Хай у нас ёсць юзеры. Кожны юзер мае бацьку і маці. Распішыце структуру захоўвання.
Напішыце запыт, які дастане юзера разам з яго бацькам і маці.