Замқи ҷадвалҳои пайвастшуда дар Python
Акнун бигзор корбарҳо дар шаҳрҳои муайян зиндагӣ мекунанд, ва ин шаҳрҳо дар кишварҳои гуногун ҷойгиранд. Дар ин ҳолат барои нигоҳдорӣ ба мо се ҷадвал лозим меояд: корбарҳо бо шаҳрҳо пайваст мешаванд, ва шаҳрҳо бо кишварҳо. Дар ин ҳолат ба мо майдони пайвастии корбарҳо бо кишварҳо лозим нест - зеро корбарҳо тавре ки мебояд бо кишварҳо тавассути пайвасти шаҳрҳо ва кишварҳо пайваст мешаванд.
Биёед ба ҷадвалҳои худ назар андозем. Ҷадвали бо кишварҳо:
| id | name |
|---|---|
| 1 | country1 |
| 2 | country2 |
Ҷадвали бо шаҳрҳо:
| id | name | country_id |
|---|---|---|
| 1 | city1 | 1 |
| 2 | city2 | 1 |
| 3 | city3 | 2 |
Ҷадвали бо корбарҳо боқӣ мемонад:
| id | name | city_id |
|---|---|---|
| 1 | user1 | 1 |
| 2 | user2 | 1 |
| 3 | user3 | 2 |
| 4 | user4 | 1 |
| 5 | user5 | 3 |
| 6 | user6 | 2 |
Дархостҳо
Барои он, ки корбарҳоро якҷоя бо шаҳрҳо ва кишварҳояшон ба даст орем, ба мо ниёз аст, ки ду JOIN иҷро кунем: якум шаҳрҳоро ба корбарҳо мепайвандад, ва дувум - кишварҳоро ба шаҳрҳо:
SELECT
users.name,
cities.name as city_name,
countries.name as country_name
FROM
users
LEFT JOIN cities ON cities.id=users.city_id
LEFT JOIN countries ON countries.id=cities.country_id
Масъалаҳои амалӣ
Бигзор маҳсулот ба зеркатегорияи муайян тааллуқ доранд, ва зеркатегорияҳо ба категорияи муайян тааллуқ доранд. Сохтори нигоҳдориро тавсиф кунед.
Дархост нависед, ки маҳсулотро, якҷоя бо зеркатегорияҳо ва категорияҳояшон ба даст орад.
Дархост нависед, ки зеркатегорияҳоро якҷоя бо категорияҳояшон ба даст орад.