濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > oracle 層次化查詢(行政區(qū)劃三級(jí)級(jí)聯(lián))

oracle 層次化查詢(行政區(qū)劃三級(jí)級(jí)聯(lián))

熱門標(biāo)簽:修改高德地圖標(biāo)注 宜賓外呼系統(tǒng)廠家 淮安自動(dòng)外呼系統(tǒng)開發(fā) 南通防封外呼系統(tǒng)運(yùn)營(yíng)商 地圖標(biāo)注原件 百變地圖標(biāo)注 廣州市400電話辦理 語(yǔ)音電話機(jī)器人營(yíng)銷方案 語(yǔ)音電話機(jī)器人缺點(diǎn)
前提:
數(shù)據(jù)庫(kù)表DM_xzqh樣例(部分):
復(fù)制代碼 代碼如下:

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

現(xiàn)在將上面的行政區(qū)劃按代碼分為三個(gè)級(jí)別:?。ê笏奈粸?)/市(后兩位為0)/縣,同時(shí)分別標(biāo)出他們的級(jí)別,這樣的話,便于后期根據(jù)不同的級(jí)別查詢。

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

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

結(jié)果如下:
序號(hào) DM MC SJBM
1 230000 黑龍江省 1
2 230100 哈爾濱市 230000
3 230101 市轄區(qū) 230100
4 230102 道里區(qū) 230100
5 232700 大興安嶺 230000
6 230103 南崗區(qū) 230100
7 230104 道外區(qū) 230100
8 230108 平房區(qū) 230100
9 230109 松北區(qū) 230100
10 230110 香坊區(qū) 230100
11 230111 呼蘭區(qū) 230100
12 230112 阿城區(qū) 230100
13 230123 依蘭縣 230100
14 238000 農(nóng)墾分局 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的層次關(guān)系將該查詢出的數(shù)據(jù)分級(jí)了,具體代碼如下:
復(fù)制代碼 代碼如下:

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 ]--該條件語(yǔ)句用于查詢具體的每一個(gè)級(jí)別的行政區(qū)劃
start with sjbm=1
connect by prior dm=sjbm
[order by level];

結(jié)果如下:
序號(hào) level DM MC SJBM
1 1 230000 黑龍江省 1 //省 ,level->1
2 2 230100 哈爾濱市 230000//市,level->2
3 3 230101 市轄區(qū) 230100//縣,level->3
4 3 230102 道里區(qū) 230100
5 3 230103 南崗區(qū) 230100
6 3 230104 道外區(qū) 230100
7 3 230108 平房區(qū) 230100
8 3 230109 松北區(qū) 230100
9 3 230110 香坊區(qū) 230100
10 3 230111 呼蘭區(qū) 230100
11 3 230112 阿城區(qū) 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 大興安嶺地區(qū) 230000
您可能感興趣的文章:
  • 解析Oracle中多表級(jí)聯(lián)刪除的方法
  • Oracle多表級(jí)聯(lián)更新詳解
  • Oracle數(shù)據(jù)庫(kù)中的級(jí)聯(lián)查詢、級(jí)聯(lián)刪除、級(jí)聯(lián)更新操作教程

標(biāo)簽:南平 嘉峪關(guān) 聊城 通化 池州 南平 股票投資 襄陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《oracle 層次化查詢(行政區(qū)劃三級(jí)級(jí)聯(lián))》,本文關(guān)鍵詞  oracle,層次,化,查詢,行政區(qū)劃,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《oracle 層次化查詢(行政區(qū)劃三級(jí)級(jí)聯(lián))》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于oracle 層次化查詢(行政區(qū)劃三級(jí)級(jí)聯(lián))的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    潢川县| 台东县| 兴山县| 曲麻莱县| 固安县| 松原市| 宁海县| 长汀县| 通河县| 南安市| 阿拉善右旗| 长丰县| 交口县| 武胜县| 宁南县| 六安市| 藁城市| 施甸县| 太仓市| 邯郸县| 确山县| 班玛县| 曲阳县| 揭西县| 松桃| 汝州市| 南岸区| 清苑县| 海原县| 合肥市| 凌海市| 林西县| 大荔县| 吉木乃县| 于田县| 巴青县| 中方县| 肃宁县| 梁平县| 叶城县| 黄冈市|