区域列表
Table: area( id, parent_id, area_type, name )
上面的表是区域表。我想用下面的SQL查询出所有的区域的信息。区域分为三级:省(area_type=1)、市(area_type=2)、区(area_type=3),由area_type来区分区域的类别。
---------------------------------------------------------------------------
SELECT
case
when city.id IS NULL then
province.id
when local.id IS NULL then
city.id
else
local.id
end as area_id,
province.id province_id,
province.name province_name,
city.id city_id,
city.name city_name,
local.id local_id,
local.name local_name,
FROM
area_list province
LEFT JOIN
area_list city
ON city.parent_id = province.id
LEFT JOIN
area_list local
ON local.parent_id = city.id
------------------------------------------------------------------------------
有两条记录:
id parent_id area_type name
10 1 2 '上海'
1010 10 3 '浦东'
它就只显示第二条记录(即显示最下层的地区)。
应该怎么改让它把所有类别的区域都显示出来。如显示“上海市”为一条记录,“上海市浦东区”为另一条记录。