2種MySQL實現層級關係的方法

2021-09-28 14:52:01 字數 1687 閱讀 5857

背景:

最近在開發中,需要查詢資料的組織層級關係,故寫下這篇博文分享給大家一起學習,這裡只做下級往上查詢,上級往下級同理
create function `getparentlist` ( parentid int ) returns varchar ( 1000 ) begin

declare

temp varchar ( 1000 );

declare

tempparent varchar ( 1000 );

set temp = '';

set tempparent = parentid;

#迴圈遞迴

while

tempparent is not null do

#判斷是否是第乙個,不加的話第乙個會為空

iftemp != '' then

set temp = concat( temp, ',', tempparent );

else

set temp = tempparent;

end if;

set temp = concat( temp, ',', tempparent );

select

group_concat( parent_id ) into tempparent

from

organization

where

parent_id <> id

and find_in_set( id, tempparent )> 0;

end while;

return temp;

end

在不同的資料庫版本上有可能會出現如下錯誤:

在資料庫中執行:set global log_bin_trust_function_creators=true;

新舊MFC版本CEdit透明的2種實現方法

最近修改了一下繪演算法,因為沒有總是繪製整個字串的必要性。以有後空了,還會完善滑鼠事件下的演算法。mfc 4.2 visual studio 6 實現起來很方便,只需要在對話方塊類下處理wm ctlcolor訊息,然後以下 即可 hbrush calphaeditboxdlg onctlcolor ...

css實現div垂直水平居中的2種常用方法

利用vertical align middle進行垂直方向上的居中對齊,此方法需要滿足的條件 設定父元素的行高line height等於父元素height的高度 子元素必須是行內塊級元素display inline block 子元素設定vertical align middle 此方法在開發中不能...

VMware ESXi Vlan的三種實現方式

在vmware esx esxi網路中vlan實現方式可以分成3種,分別是通過物理交換機,虛擬交換機 vswitch 和esxi中的虛擬機器 vm 來新增vlan標記,具體方式如下 1 est external switch tagging 通過將交換機的埠劃分到不同的vlan實現虛擬機器的vlan...