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

主頁 > 知識庫 > Mysql樹形遞歸查詢的實現方法

Mysql樹形遞歸查詢的實現方法

熱門標簽:電話機器人市場趨勢 淄博400電話申請 百度地圖標注后不顯示 電銷機器人 行業 電銷機器人各個細節介紹 南昌高頻外呼系統哪家公司做的好 昆明電信400電話辦理 俄國地圖標注app 溫州瑞安400電話怎么申請

前言

對于數據庫中的樹形結構數據,如部門表,有時候,我們需要知道某部門的所有下屬部分或者某部分的所有上級部門,這時候就需要用到mysql的遞歸查詢

最近在做項目遷移,Oracle版本的遷到Mysql版本,遇到有些oracle的函數,mysql并沒有,所以就只好想自定義函數或者找到替換函數的方法進行改造。

Oracle遞歸查詢

oracle實現遞歸查詢的話,就可以使用start with ... connect by

connect by遞歸查詢基本語法是:

select 1 from 表格 start with ... connect by prior id = pId

start with:表示以什么為根節點,不加限制可以寫1=1,要以id為123的節點為根節點,就寫為start with id =123

connect by:connect by是必須的,start with有些情況是可以省略的,或者直接start with 1=1不加限制

prior:prior關鍵字可以放在等號的前面,也可以放在等號的后面,表示的意義是不一樣的,比如 prior id = pid,就表示pid就是這條記錄的根節點了

具體可以參考我以前寫的一篇oracle方面的博客:https://www.jb51.net/article/156306.htm

Oracle方面的實現

select id="listUnitInfo" resultType="com.admin.system.unit.model.UnitModel" databaseId="oracle">
 select distinct u.unit_code,
 u.unit_name,
 u.unit_tel,
 u.para_unit_code
 from lzcity_approve_unit_info u
 start with 1 = 1
 if test="unitCode != null and unitCode !=''">
 and u.unit_code = #{unitCode}
 /if>
 if test="unitName!=null and unitName!=''">
 and u.unit_name like '%'|| #{unitName} ||'%'
 /if>
 connect by prior u.unit_code = u.para_unit_code
 and u.unit_code lt;>u.para_unit_code
 /select>

Mysql遞歸查詢

下面主要介紹Mysql方面的實現,Mysql并沒有提供類似函數,所以只能通過自定義函數實現,網上很多這種資料,不過已經不知道那篇是原創了,這篇博客寫的不錯,https://www.jb51.net/database/201209/152513.html, 下面我也是用作者提供的方法實現自己的,先感謝作者的分享

這里借用作者提供的自定義函數,再加上Find_in_set函數 find_in_set(u.unit_code,getunitChildList(#{unitCode})) ,getunitChildList是自定義函數

select id="listUnitInfo" resultType="com.admin.system.unit.model.UnitModel" databaseId="mysql">
 select distinct u.unit_code,
  u.unit_name,
  u.unit_tel,
  u.para_unit_code
  from t_unit_info u
  where>
  if test="unitCode != null and unitCode !=''">
  and find_in_set(u.unit_code,getunitChildList(#{unitCode}))
  /if>
  if test="unitName!=null and unitName!=''">
  and u.unit_name like concat('%', #{unitName} ,'%')
  /if>
  /where>
 /select>

getUnitChildList自定義函數

DELIMITER $$

USE `gd_base`$$

DROP FUNCTION IF EXISTS `getUnitChildList`$$

CREATE DEFINER=`root`@`%` FUNCTION `getUnitChildList`(rootId INT) RETURNS VARCHAR(1000) CHARSET utf8
BEGIN
 DECLARE sChildList VARCHAR(1000);
 DECLARE sChildTemp VARCHAR(1000);
 SET sChildTemp =CAST(rootId AS CHAR);
 WHILE sChildTemp IS NOT NULL DO
 IF (sChildList IS NOT NULL) THEN
  SET sChildList = CONCAT(sChildList,',',sChildTemp);
 ELSE
 SET sChildList = CONCAT(sChildTemp);
 END IF;
 SELECT GROUP_CONCAT(unit_code) INTO sChildTemp FROM LZCITY_APPROVE_UNIT_INFO WHERE FIND_IN_SET(para_unit_code,sChildTemp)>0;
 END WHILE;
 RETURN sChildList;
END$$

DELIMITER ;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • MySQL遞歸查詢樹狀表的子節點、父節點具體實現
  • SQL如何實現MYSQL的遞歸查詢
  • MySQL通過自定義函數實現遞歸查詢父級ID或者子級ID
  • MySql8 WITH RECURSIVE遞歸查詢父子集的方法
  • Mysql8.0遞歸查詢的簡單用法示例

標簽:洛陽 安徽 拉薩 吐魯番 嘉峪關 海口 葫蘆島 甘南

巨人網絡通訊聲明:本文標題《Mysql樹形遞歸查詢的實現方法》,本文關鍵詞  Mysql,樹形,遞歸,查詢,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql樹形遞歸查詢的實現方法》相關的同類信息!
  • 本頁收集關于Mysql樹形遞歸查詢的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    伦理电影国产精品| 亚洲成av人**亚洲成av**| 成人永久免费视频| 日韩黄色小视频| 国产精品欧美一区喷水| 亚洲黄色片在线观看| 国产精品18久久久久久vr| 69堂精品视频| 一区二区三区中文在线观看| 国产剧情一区二区| 91免费在线视频观看| 欧美久久久久久久久中文字幕| 成人综合在线网站| 精品国产一区二区三区四区四 | 精品美女被调教视频大全网站| 成人美女视频在线观看18| 国产精品一区二区视频| 欧美激情艳妇裸体舞| 麻豆91精品视频| 欧美人牲a欧美精品| 亚洲欧洲一区二区在线播放| 国产河南妇女毛片精品久久久| 久久久久久久久97黄色工厂| 国产综合久久久久影院| 久久你懂得1024| 成人一级片在线观看| 日韩一区在线免费观看| 91在线无精精品入口| 亚洲视频在线一区| 91福利社在线观看| 亚洲第一主播视频| 91麻豆精品国产自产在线观看一区 | 亚洲欧美福利一区二区| 亚洲精品综合在线| 免费观看久久久4p| 福利一区在线观看| 久久精品国产999大香线蕉| 中文字幕日韩av资源站| 欧美亚洲一区二区在线| jiyouzz国产精品久久| 日韩欧美黄色影院| 国产在线国偷精品产拍免费yy| 色婷婷久久一区二区三区麻豆| 国产欧美在线观看一区| 日韩不卡一区二区| 精品欧美一区二区久久| 丁香激情综合五月| 亚洲国产三级在线| 国产欧美日韩中文久久| 欧美精品乱码久久久久久按摩| 国产精品自拍在线| 午夜久久福利影院| 国产精品毛片无遮挡高清| 欧美日韩国产中文| 国产精品一区二区久久精品爱涩 | 91精品国产色综合久久久蜜香臀| 国产成人精品亚洲777人妖| 天堂在线亚洲视频| 综合激情成人伊人| 欧美日韩国产三级| 暴力调教一区二区三区| 麻豆精品在线视频| 日韩高清不卡一区二区三区| 日韩视频一区在线观看| 一本大道久久a久久综合| 国产一区二区三区免费播放| 黑人精品欧美一区二区蜜桃 | 国产亚洲一区字幕| 99麻豆久久久国产精品免费| 男女男精品网站| 成人高清视频免费观看| 欧美经典一区二区| 国产麻豆91精品| 国产精品综合一区二区三区| 国产xxx精品视频大全| 中文字幕一区二区视频| 日韩午夜在线影院| 97se亚洲国产综合在线| 韩国v欧美v亚洲v日本v| 夜夜精品视频一区二区| 久久久久久久久久久久电影| 欧美丰满嫩嫩电影| 韩国v欧美v亚洲v日本v| 欧美日精品一区视频| 国内精品久久久久影院一蜜桃| 亚洲综合色视频| 国产精品无圣光一区二区| 欧美日韩国产综合一区二区三区| 美国十次综合导航| 国产精品国产精品国产专区不片| 97久久久精品综合88久久| 欧美激情一区二区三区蜜桃视频| 波多野结衣的一区二区三区| 午夜久久久久久电影| 91精品欧美一区二区三区综合在| 日韩电影免费一区| 久久久久国产一区二区三区四区| 欧美亚洲国产一区二区三区va| 欧美在线小视频| 九九精品一区二区| 日本强好片久久久久久aaa| 亚洲自拍与偷拍| 亚洲人成网站精品片在线观看| 国产欧美综合在线观看第十页| 久久久亚洲国产美女国产盗摄 | 久久婷婷色综合| 欧美一级黄色录像| 欧美一级欧美三级在线观看| 欧美电影一区二区三区| 8x8x8国产精品| 欧美一级高清片| 欧美v日韩v国产v| 精品国产人成亚洲区| 欧美精品一区二区高清在线观看 | 中文字幕欧美国产| 久久久电影一区二区三区| 精品福利一区二区三区免费视频| 日韩视频一区二区在线观看| 精品日韩在线一区| 久久一夜天堂av一区二区三区| 久久精品一区蜜桃臀影院| 国产欧美日本一区二区三区| 亚洲国产高清不卡| 亚洲欧美日韩一区二区| 香港成人在线视频| 美腿丝袜亚洲一区| 狠狠色狠狠色合久久伊人| 高潮精品一区videoshd| 在线观看日韩av先锋影音电影院| 欧美日韩精品一二三区| 欧美一级二级在线观看| 国产日韩欧美精品综合| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品青草久久| 欧美亚洲丝袜传媒另类| 精品捆绑美女sm三区| 午夜私人影院久久久久| 91网站最新网址| 日韩毛片在线免费观看| 成人v精品蜜桃久久一区| 欧美大胆一级视频| 日韩福利电影在线| 欧美精品18+| 日韩激情一区二区| 欧美一区欧美二区| 亚洲国产精品久久人人爱蜜臀 | 日韩高清不卡一区二区三区| av在线一区二区| 国产日韩欧美高清| 国产精品69毛片高清亚洲| 久久久精品中文字幕麻豆发布| 国产福利一区二区三区视频在线| 精品美女在线观看| 国产成人精品亚洲日本在线桃色| 亚洲欧洲一区二区在线播放| 91亚洲国产成人精品一区二区三| 亚洲六月丁香色婷婷综合久久| 色婷婷综合久久久中文字幕| 日本亚洲免费观看| 国产精品 欧美精品| 东方欧美亚洲色图在线| 日本一区中文字幕 | 欧美日韩精品免费| 国产亚洲1区2区3区| 亚洲国产aⅴ天堂久久| 成人亚洲精品久久久久软件| 91精品久久久久久久久99蜜臂| 国产精品麻豆视频| 久久超级碰视频| 欧美午夜精品一区二区三区| 久久精品亚洲乱码伦伦中文 | 一区二区三区在线视频免费| 国产综合色在线| 欧美日韩久久久一区| 日韩毛片精品高清免费| 加勒比av一区二区| 在线91免费看| 亚洲综合一区在线| 99久久精品99国产精品 | 欧美日本精品一区二区三区| 一区在线中文字幕| 国产精品1区二区.| 日韩午夜激情视频| 亚洲精品国产一区二区精华液 | 一区二区三区四区av| 国产盗摄视频一区二区三区| 亚洲精品国产一区二区精华液| 国产精品久久久久久妇女6080 | 日韩一级二级三级精品视频| 国产91丝袜在线18| 欧美精品视频www在线观看| 欧美成人性战久久| 精品粉嫩超白一线天av| 国产黑丝在线一区二区三区| 亚洲精品一区二区精华| 日韩专区欧美专区| 成人免费高清在线观看| 精品国产网站在线观看| 五月天国产精品|