create temporary table `treeView`( `id` varchar(20), `org_name` varchar(20), `parent_org_id` varchar(20), `org_code` varchar(20) ) insert into treeView(id,org_name,parent_org_id,org_code)values('1','根',null,'1'); insert into treeView(id,org_name,parent_org_id,org_code)values('2','機構1','1','2'); insert into treeView(id,org_name,parent_org_id,org_code)values('3','機構1—1','2','2'); insert into treeView(id,org_name,parent_org_id,org_code)values('4','機構2','1','1'); insert into treeView(id,org_name,parent_org_id,org_code)values('5','機構2-1','4','1'); insert into treeView(id,org_name,parent_org_id,org_code)values('6','機構1-2','2','1'); create temporary table `tree`( select id,org_name,parent_org_id,org_code from treeView where parent_org_id in (null,'1') ) insert into tree(id,org_name,parent_org_id,org_code) select id,org_name,parent_org_id,org_code from tree UNION All select t.id,t.org_name,t.parent_org_id,t.org_code from treeView as t,tree as v where t.parent_org_id = v.id order by t.org_code DROP TABLE treeView DROP TABLE tree select * from tree
數據結構補充:
樹形結構存儲分為順序存儲(數組)與鏈式存儲(鏈表)
存儲方法有:雙親表示法,孩子表示法,孩子兄弟表示法
上述數據庫存儲方法:雙親表示法