我有3个MySQL表,下面是示例表
1.districts table(primary )
+---------+----------------+
| ID | District_name|
+--------------------------+
| 1 | Dhaka |
| 2 | Madaripur |
| 3 | chittagong |
| 4 | khulna |
| 5 | barishal |
| 6 | jesshore |
+---------+----------------+
2.sub_district table(Depends on districts table)
+-----+--------------+---------------------+
|ID | district_id | sub_district_name|
|1 | 1 | 2nd sub 1 |
|2 | 1 | 2nd sub 2 |
|3 | 1 | 2nd sub 3 |
|4 | 3 | 2nd sub 4 |
|5 | 3 | 2nd sub 5 |
|6 | 3 | 2nd sub 6 |
|7 | 4 | 2nd sub 7 |
|8 | 4 | 2nd sub 8 |
|9 | 5 | 2nd sub 9 |
|10 | 6 | 2nd sub 10 |
| | | |
+-----+--------------+---------------------+
3. upazila table( depends on district table)
+------+-------------------+-------------------+
|Id | sub_district_id | Upazila_name |
| 1 | 1 | Upazila 1 |
| 2 | 1 | Upazila 2 |
| 3 | 3 | Upazila 3 |
| 4 | 3 | Upozila 4 |
| 5 | 2 | Upozila 5 |
| 6 | 2 | Upozila 6 |
| 7 | 5 | Upozila 7 |
| 8 | 5 | Upozila 8 |
| 9 | 4 | Upozila 9 |
| 10 | 4 | Upozila 10 |
+------+-------------------+-------------------+
现在我需要做的是我有一个地区id,我必须查询该地区下的所有乌帕齐拉。
比方说我的地区id 1。
所以我的输出数据会像一样
Output data
+-----------------------------------------+
|ID(Upozila)|sub_district_id|Upozila_name |
| 1 | 1 | Upozila 1 |
| 2 | 1 | Upozila 2 |
| 5 | 2 | Upozila 5 |
| 6 | 2 | Upozila 6 |
| | | |
| | | |
+-----------+---------------+-------------+
这是转发,我看到了类似的老帖子,但我太困惑了,无法应用于我的情况。
如果你根据我的示例数据写一个示例,那将非常有用
3个表可以像下一个sql:一样连接
SELECT
u.ID AS Upozila_ID, sd.sub_district_id, u.Upozila_name
FROM upazila AS u
LEFT JOIN sub_district AS sd
ON u.sub_district_id = sd.ID
LEFT JOIN districts AS d
ON sd.district_id = d.ID
WHERE d.ID = XYZ;
现在根据您提供的地区ID更换XYZ
。