3 mysql table joining



我有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

最新更新