婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > oracle 層次化查詢(行政區劃三級級聯)

oracle 層次化查詢(行政區劃三級級聯)

熱門標簽:修改高德地圖標注 宜賓外呼系統廠家 淮安自動外呼系統開發 南通防封外呼系統運營商 地圖標注原件 百變地圖標注 廣州市400電話辦理 語音電話機器人營銷方案 語音電話機器人缺點
前提:
數據庫表DM_xzqh樣例(部分):
復制代碼 代碼如下:

DM MC
230000 黑龍江省
230100 哈爾濱市
230101 市轄區
230102 道里區
232700 大興安嶺
230103 南崗區
230104 道外區
230108 平房區
230109 松北區
230110 香坊區
230111 呼蘭區
230112 阿城區
230123 依蘭縣
238000 農墾分局
230124 方正縣
230125 賓縣
230126 巴彥縣
230127 木蘭縣
230128 通河縣
230129 延壽縣
230182 雙城市
230183 尚志市

現在將上面的行政區劃按代碼分為三個級別:省(后四位為0)/市(后兩位為0)/縣,同時分別標出他們的級別,這樣的話,便于后期根據不同的級別查詢。

首先,根據上面表拓展出新的一行sjbm,該行用于表示該行政區劃所屬的上級行政區劃。具體代碼如下:
復制代碼 代碼如下:

select t.dm,t.mc,case
when substr(t.dm,3)='0000' then 1
when substr(t.dm,5)='00' then to_number(substr(t.dm,1,2)||'0000')
when substr(t.dm,5)!='00' then to_number(substr(t.dm,1,4)||'00')
else 0
end sjbm from dm_xzqh t

結果如下:
序號 DM MC SJBM
1 230000 黑龍江省 1
2 230100 哈爾濱市 230000
3 230101 市轄區 230100
4 230102 道里區 230100
5 232700 大興安嶺 230000
6 230103 南崗區 230100
7 230104 道外區 230100
8 230108 平房區 230100
9 230109 松北區 230100
10 230110 香坊區 230100
11 230111 呼蘭區 230100
12 230112 阿城區 230100
13 230123 依蘭縣 230100
14 238000 農墾分局 230000
15 230124 方正縣 230100
16 230125 賓縣 230100
17 230126 巴彥縣 230100
18 230127 木蘭縣 230100
19 230128 通河縣 230100
20 230129 延壽縣 230100
21 230182 雙城市 230100
22 230183 尚志市 230100
然后,就可以利用oracle的層次關系將該查詢出的數據分級了,具體代碼如下:
復制代碼 代碼如下:

select level,dm,mc,sjbm from
(select t.dm,t.mc,case
when substr(t.dm,3)='0000' then 1
when substr(t.dm,5)='00' then to_number(substr(t.dm,1,2)||'0000')
when substr(t.dm,5)!='00' then to_number(substr(t.dm,1,4)||'00') end sjbm from dm_xzqh t)
[where level=2 ]--該條件語句用于查詢具體的每一個級別的行政區劃
start with sjbm=1
connect by prior dm=sjbm
[order by level];

結果如下:
序號 level DM MC SJBM
1 1 230000 黑龍江省 1 //省 ,level->1
2 2 230100 哈爾濱市 230000//市,level->2
3 3 230101 市轄區 230100//縣,level->3
4 3 230102 道里區 230100
5 3 230103 南崗區 230100
6 3 230104 道外區 230100
7 3 230108 平房區 230100
8 3 230109 松北區 230100
9 3 230110 香坊區 230100
10 3 230111 呼蘭區 230100
11 3 230112 阿城區 230100
12 3 230123 依蘭縣 230100
13 3 230124 方正縣 230100
14 3 230125 賓縣 230100
15 3 230126 巴彥縣 230100
16 3 230127 木蘭縣 230100
17 3 230128 通河縣 230100
18 3 230129 延壽縣 230100
19 3 230182 雙城市 230100
20 3 230183 尚志市 230100
21 3 230184 五常市 230100
22 2 232700 大興安嶺地區 230000
您可能感興趣的文章:
  • 解析Oracle中多表級聯刪除的方法
  • Oracle多表級聯更新詳解
  • Oracle數據庫中的級聯查詢、級聯刪除、級聯更新操作教程

標簽:南平 嘉峪關 聊城 通化 池州 南平 股票投資 襄陽

巨人網絡通訊聲明:本文標題《oracle 層次化查詢(行政區劃三級級聯)》,本文關鍵詞  oracle,層次,化,查詢,行政區劃,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle 層次化查詢(行政區劃三級級聯)》相關的同類信息!
  • 本頁收集關于oracle 層次化查詢(行政區劃三級級聯)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 通河县| 嘉禾县| 博客| 永康市| 张家口市| 娱乐| 黔南| 江达县| 江阴市| 东乡县| 弥渡县| 三原县| 隆安县| 舒兰市| 双辽市| 循化| 太仆寺旗| 庆安县| 南郑县| 北辰区| 长兴县| 南乐县| 岳西县| 新蔡县| 疏附县| 大田县| 泗阳县| 宾川县| 泸定县| 邹平县| 宁阳县| 玉门市| 贞丰县| 泉州市| 罗平县| 林州市| 宁德市| 黔南| 东丰县| 平乐县| 多伦县|