Heim > Datenbank > MySQL-Tutorial > MySQL递归查询当前节点及子节点_MySQL

MySQL递归查询当前节点及子节点_MySQL

WBOY
Freigeben: 2016-06-01 13:29:34
Original
1010 Leute haben es durchsucht

bitsCN.com

MySQL递归查询当前节点及子节点

 

1.表结构

 

MySQL递归查询当前节点及子节点_MySQL

 

2.查询语句

 

create procedure Pro_GetUnderOrg(in idd varchar(36))begindeclare lev int;set lev=1;drop table if exists tmp1;    CREATE TABLE tmp1(ID VARCHAR(36),OrgName varchar(50),ParentID varchar(36) ,levv INT);    INSERT tmp1 SELECT ID,OrgName,ParentID,1 FROM `organization` WHERE ParentID=idd;while  row_count()>0do     set lev=lev+1;     INSERT tmp1 SELECT t.ID,t.`OrgName`,t.`ParentID`,lev from organization t join tmp1 a on t.ParentId=a.ID AND levv=lev-1;end while ;    INSERT tmp1 SELECT ID,OrgName,ParentID,0 FROM `organization` WHERE ID=idd;     SELECT * FROM tmp1;end;
Nach dem Login kopieren

 

 

3,调用

 

call Pro_GetUnderOrg('9B2AE044-3B51-47FA-A24C-8326BA7B9FD3');

4,注意: 这种表设计以后一定要加个 路径字段 以后就不用这么费事了,直接 like 查询了 

bitsCN.com
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage