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