中国省市区,怎么在数据库中存储,求好的方案!

dai03070609 2008-11-13 02:36:18
http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm

以上是中国地区,县及县以上行政区划代码

有 代码和名称
怎么实现各个地区查询 列表功能
...全文
1564 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
goddie2046 2012-10-05
  • 打赏
  • 举报
回复
收藏精品
逛街的猫 2012-09-03
  • 打赏
  • 举报
回复
收藏下!!
lgclss 2009-09-01
  • 打赏
  • 举报
回复
学习一下
sleepzzzzz 2008-11-13
  • 打赏
  • 举报
回复
快到星啊,你真猛.
我在背OCA题库,哈哈,下个星期准备去混个证来,嘿嘿,不要BS我....



[Quote=引用 11 楼 linzhangs 的回复:]
引用 9 楼 BlueskyWide 的回复:
从上可知:寻梦|忘归@甲骨文传说 广东人
风雨过后的平静 南京人

本贴中其余树的子节点由于不尽详细,未可知也。
但总父节点ID只能有一个。

我是南京的,哈哈
[/Quote]
icss_zhen 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 BlueskyWide 的回复:]
从上可知:寻梦|忘归@甲骨文传说 广东人
风雨过后的平静 南京人

本贴中其余树的子节点由于不尽详细,未可知也。
但总父节点ID只能有一个。
[/Quote]哈哈,有点意思!我们数据库也有这种表结构设计。就是我2楼所的,其实和6楼差不多!
范佩西_11 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 BlueskyWide 的回复:]
从上可知:寻梦|忘归@甲骨文传说      广东人
风雨过后的平静            南京人

本贴中其余树的子节点由于不尽详细,未可知也。
但总父节点ID只能有一个。
[/Quote]
我是南京的,哈哈
sleepzzzzz 2008-11-13
  • 打赏
  • 举报
回复
哈哈?
这逻辑也成立啊


[Quote=引用 9 楼 BlueskyWide 的回复:]
从上可知:寻梦|忘归@甲骨文传说 广东人
风雨过后的平静 南京人

本贴中其余树的子节点由于不尽详细,未可知也。
但总父节点ID只能有一个。
[/Quote]
BlueskyWide 2008-11-13
  • 打赏
  • 举报
回复
从上可知:寻梦|忘归@甲骨文传说 广东人
风雨过后的平静 南京人

本贴中其余树的子节点由于不尽详细,未可知也。
但总父节点ID只能有一个。
范佩西_11 2008-11-13
  • 打赏
  • 举报
回复
建的时候用六楼的,层次就不需要了。
直接level就可以查的出
SQL> select p,s,level from test start with  p='中国' connect by prior s=p order by level;

P S LEVEL
-------------------- -------------------- ----------
中国 江苏 1
中国 浙江 1
江苏 南京 2
南京 白下区 3
南京 江宁区 3
南京 鼓楼区 3

6 rows selected
sleepzzzzz 2008-11-13
  • 打赏
  • 举报
回复
方便以后找到,作个记号
MARKED BY sleepzzzzz --这样google可以找到.



sleepzzzzz 2008-11-13
  • 打赏
  • 举报
回复
类似这样的需求,我们数据仓库项目是这么建的,
建立层次结构表,设置四个字段如下:

ID: 省\市\区ID,唯一
PID: 父ID
CC: 层次(数据仓库作为维度节点计算需要用到)
MC: 名称



例如:

ID PID CC MC

1000 0 0 中国

1001 1000 1 广东省   --省

1011 1001 2 广州市 --市

1211 1011 3 天河区 --区
1212 1011 3 白云区
1213 1011 3 海珠区

1012 1001 2 深圳市 --市

2011 1012 3 蛇口区 --区
2013 1012 3 东山区 
2014 1012 3 高新区
范佩西_11 2008-11-13
  • 打赏
  • 举报
回复
参考一下
create table  test (p varchar2(20),s varchar2(20));
insert into test values('中国','江苏');
insert into test values('中国','浙江');
insert into test values('江苏','南京');
insert into test values('南京','鼓楼区');
insert into test values('南京','江宁区');
insert into test values('南京','白下区');
SQL> select * from test start with p='中国' connect by prior s=p;

P S
-------------------- --------------------
中国 江苏
江苏 南京
南京 鼓楼区
南京 江宁区
南京 白下区
中国 浙江

6 rows selected
SQL> select * from test start with p='江苏' connect by prior s=p;

P S
-------------------- --------------------
江苏 南京
南京 鼓楼区
南京 江宁区
南京 白下区
BlueskyWide 2008-11-13
  • 打赏
  • 举报
回复
使用'父节点'和'子节点'进行存贮。
树型查找时使用connect by ,start with,请参考:

http://topic.csdn.net/t/20030512/23/1774674.html
BlueskyWide 2008-11-13
  • 打赏
  • 举报
回复

--如查内蒙古自治区:

select * from tableA where id like '15%';






[Quote=引用楼主 dai03070609 的帖子:]
http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm

以上是中国地区,县及县以上行政区划代码

有 代码和名称
怎么实现各个地区查询 列表功能
[/Quote]
icss_zhen 2008-11-13
  • 打赏
  • 举报
回复
建个参数表,存
本节点ID
父节点
行政区划名
节点级别(劳动部 1 各省市 2 级 地级市 3 ,县,市辖区 4).
对应数据如:
(110101 110000 北京市东城区 4)
hebo2005 2008-11-13
  • 打赏
  • 举报
回复
做个2级的,所有下属加个父ID

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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