SELECT a2.id, a2.area_name FROM ( SELECT @r AS _id, ( SELECT @r := pid FROM area WHERE id = _id ) AS parent_id, @l := @l + 1 AS lvl FROM (SELECT @r := 2071, @l := 0) vars, area h WHERE @r != 0 ) a1 JOIN area a2 ON a1._id = a2.id WHERE a2.id != 2071 ORDER BY a1.lvl DESC
表格式:
1.地区(area)
字段名称 |
字段代码 |
字段类型 |
空 |
索引 |
字段描述 |
地区id |
id |
mediumint |
not |
p |
无符号自增长 |
地区名称 |
area_name |
char(16) |
not |
|
默认empty |
地区全称 |
area_fname |
char(32) |
not |
yes |
*省*市*区 |
行政级别 |
adm_lv |
tinyint |
not |
|
无符号默认0字典 |
父id |
pid |
mediumint |
not |
|
无符号默认0 |
说明:2071为需要查询的子地区id