标签:
参考http://www.cnblogs.com/kingteach/archive/2011/07/05/2098046.html
create procedure Pro_GetUnderOrg(in userid varchar(50)) begin declare lev int; set lev=1; drop table if exists tmp1; CREATE TABLE tmp1(`ID` BIGINT,LoginID VARCHAR(50),Username varchar(50),pre_LoginID varchar(50) ,levv INT); INSERT tmp1 SELECT `ID`, LoginID,Username,pre_LoginID,1 FROM tbUsers WHERE pre_LoginID=userid; while row_count()>0 do set lev=lev+1; INSERT tmp1 SELECT t.`ID`, t.LoginID,t.Username,t.pre_LoginID,lev from tbUsers t join tmp1 a on t.pre_LoginID=a.LoginID AND levv=lev-1; end while ; INSERT tmp1 SELECT `ID`,LoginID,Username,pre_LoginID,0 FROM tbUsers WHERE LoginID=userid; SELECT * FROM tmp1 where LoginID <>userid;/*这一步是为了去除自己*/ end;
标签:
原文地址:http://www.cnblogs.com/kongxp/p/5117596.html