经过当前节点编号查询父级全部编号集合,经过逗号进行分隔(倒序,包含自身编号)node
-- 经过当前节点编号查询父级全部编号集合,经过逗号进行分隔(倒序,包含自身编号) -- DROP FUNCTION `getDistrictParentIds`; CREATE FUNCTION `getDistrictParentIds`(nodeId varchar(100)) RETURNS varchar(1000) BEGIN DECLARE pid varchar(100) default ''; DECLARE ids varchar(1000) default nodeId; WHILE nodeId is not null do SET pid =(SELECT district_pid FROM district WHERE district_id = nodeId); IF pid is not null THEN SET ids = concat(ids, ',', pid); SET nodeId = pid; ELSE SET nodeId = pid; END IF; END WHILE; return ids; END
经过当前节点编号查询父级全部名称集合,经过逗号进行分隔(正序,包含自身名称)code
-- 经过当前节点编号查询父级全部名称集合,经过逗号进行分隔(正序,包含自身名称) -- DROP FUNCTION `getDistrictParentNames`; CREATE FUNCTION `getDistrictParentNames`(nodeId varchar(100)) RETURNS varchar(1000) BEGIN DECLARE pid varchar(100) default ''; DECLARE ids varchar(1000) default nodeId; WHILE nodeId is not null do SET pid =(SELECT district_pid FROM district WHERE district_id = nodeId); IF pid is not null THEN SET ids = concat(ids, ',', pid); SET nodeId = pid; ELSE SET nodeId = pid; END IF; END WHILE; return (select group_concat(district_name order by district_id) from district where FIND_IN_SET(district_id,ids) ); END
经过当前节点编号查询父级全部编号集合,经过逗号进行分隔(倒序,包含自身编号)get
-- 经过当前节点编号查询父级全部编号集合,经过逗号进行分隔(倒序,包含自身编号) -- DROP FUNCTION `getIndustryParentIds`; CREATE FUNCTION `getIndustryParentIds`(nodeId varchar(100)) RETURNS varchar(1000) BEGIN DECLARE pid varchar(100) default ''; DECLARE ids varchar(1000) default nodeId; WHILE nodeId is not null do SET pid =(SELECT industry_pid FROM industry WHERE industry_id = nodeId); IF pid is not null THEN SET ids = concat(ids, ',', pid); SET nodeId = pid; ELSE SET nodeId = pid; END IF; END WHILE; return ids; END
经过当前节点编号查询父级全部名称集合,经过逗号进行分隔(正序,包含自身名称)select
-- 经过当前节点编号查询父级全部名称集合,经过逗号进行分隔(正序,包含自身名称) DROP FUNCTION `getIndustryParentNames`; CREATE FUNCTION `getIndustryParentNames`(nodeId varchar(100)) RETURNS varchar(1000) BEGIN DECLARE pid varchar(100) default ''; DECLARE ids varchar(1000) default nodeId; WHILE nodeId is not null do SET pid =(SELECT industry_pid FROM industry WHERE industry_id = nodeId); IF pid is not null THEN SET ids = concat(ids, ',', pid); SET nodeId = pid; ELSE SET nodeId = pid; END IF; END WHILE; return (select group_concat(industry_name order by industry_level) from industry where FIND_IN_SET(industry_id,ids)); END