您好,欢迎访问一九零五行业门户网

关于mysql中数据存储复合树形结构,查询时结果按树形结构输出_MySQL

bitscn.com
1、主要思想:根据已有数据,规则性的造数据
select * from(
select lid,strname,lid as lparentid,-1 as orderidx from tbclassify where lparentid  = 0
union all
(select t1.* from tbclassify t1 join
(select lid from tbclassify where lparentid=0 order by orderidx) t2 on
t1.lparentid = t2.lid
where 1=1 order by t1.lparentid,t1.orderidx)
) tblast where 1=1 group by tblast.lparentid,tblast.lid order by tblast.lparentid,tblast.orderidx
;
上面的排序有问题,最后成型:
select lid from(
 select lid,orderidx as pidx,-1 as sidx from tbclassify where lparentid  = 0
  union all
 (select a.lid,b.orderidx pidx,a.orderidx sidx from tbclassify a left join tbclassify b on (a.lparentid = b.lid ) where a.lparentid != 0)
)
tblast order by tblast.pidx,tblast.sidx
;
 该方法缺陷:前提必须知道树形结构共有几层,不带有通用型,当前方法只适用于两层树形结构,重点是提供了一种解决问题的思路:根据已有数据造数据
bitscn.com
其它类似信息

推荐信息