别人问的一个需求:
drop function if exists getName; create FUNCTION getName(v_code int) returns varchar(10) begin declare v_name varchar(10); declare v_name2 varchar(10); set v_name=‘‘; set v_name2=‘‘; repeat select `name`,`parent_code` into v_name,v_code from material_type where `code` = v_code limit 1; set v_name2 = concat_ws(‘/‘,v_name,v_name2); until v_code = 0 end repeat; return v_name2; end;
然后如下查询操作:
select code,name,parent_code,getName(code) from material_type;
结果显示如下:
注意:这里的顶层跟节点的code必须是0
原文:https://www.cnblogs.com/30go/p/11365368.html