我正在尝试用mysql编写一个查询,其中我的表结构如下所示
place_id state_id city_id place_name
1 0 0 United States
2 1 0 Alabama
3 0 2 Auburn
32 0 0 Canada
33 32 0 Alberta
34 0 33 Calgary
这里我有美国的id,它是1,使用这个id我想检索美国的所有州和每个州的城市。这里,
请有人帮帮我,谢谢。
对于美国,您可以使用self join将同一个表连接3次。
select t1.place_name, t2.place_name, t3.
from my_table t1
inner join my_table t2 on t1.place_id = t2.state_id
inner join my_table t3 on t3place_id = t3.city_id
where t1.place_name ='United States';