【发布时间】:2015-09-09 17:03:22
【问题描述】:
我有一个包含所有区域的数据库,包括城市,它们以树状结构排列,使用每个 id 作为父区域 id。
mysql 的列是 id , parent_region_id , region_name
结构就像...
SELECT region_id, region_type, region_name, parent_region_id, parent_region_name FROM regions_data WHERE parent_region_id = 201
区域类型为 ....
Country -> Province (State) -> Multi-Region (within a country) -> Multi-City (Vicinity) -> City
只有一些国家/地区有Province (State),其他国家/地区有Multi-Region (within a country)..这两者可能有也可能没有Multi-City (Vicinity)级别。
US -> California -> Central California -> San Joaquin Valley -> Mojave & Vicinity -> California City
像上面一样,美国下面会有很多区域,所有这些区域可能有很多子区域和这些子区域下的城市。
我想要一个完美的 MySQL 查询,它将返回给定区域内的所有城市。
说Give me all cities under US 或Give me all cities under ALASKA STATE
这里有 MySQL 专家来帮助我吗?
【问题讨论】:
-
Mysql 无法进行递归查询。你应该通过 php 代码或程序来做到这一点
-
@splash58 我对程序了解不多。。什么样的程序?可以的话能详细点吗?
-
可以分享一下你的表结构吗?
-
我不确定这里是否有人会为您编写代码。尝试询问您将面临的问题
-
张贴一张你的桌子的截图。很难理解你的桌子是什么样子的