区域列表

kongooo 2006-01-11 12:00:00
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 '浦东'
它就只显示第二条记录(即显示最下层的地区)。
应该怎么改让它把所有类别的区域都显示出来。如显示“上海市”为一条记录,“上海市浦东区”为另一条记录。
...全文
98 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzmei 2006-01-11
  • 打赏
  • 举报
回复
是不是描述不清楚啊!!!!!!!!!
kongooo 2006-01-11
  • 打赏
  • 举报
回复
DING

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧