hsfl.net
当前位置:首页 >> 查数据库生成树形结构 >>

查数据库生成树形结构

如果树的层数固定就可以用语句查询,但效率比较低。例如你说的三层: select id,v2.name+name from t1 inner join (select id,v1.name+name as name from t1 inner join (select id,name from t1 where parentid = 0) v1 on t1.parentid = v1.id...

先根据父编码排序,父编码相同的情况下再根据子编码排序 SELECT id,name FROM [Table1] ORDER BY ISNULL(sjbm,0)+'.',id 不确定你的sjbm是什么类型的,假如是int型的话,就要判断为NULL值的情况,对你给的数据分析,顶级数据的sjbm值可能是空的 ...

定义一个TreeNode类.里面有 id 自身id parentId 父节点id name 树显示文本 url 链接地址 open 是否展开树 等属性. 将从数据库查出来的数据一个个set到TreeNode里面.封装成一个List. 再将这个List转换成你的树所需要的格式内容.比如json格式

以前用dtree写过一个,先把你数据库数据查出来,重点是确定父id跟子id都已经分好了,然后剩下的主要是在jsp里写树菜单就好了:给你参考下,下面那两个文件你可能没有,不过应该可以在网上下载的 展开 | 关闭 d = new dTree('d',"${contextPath}/...

用标准sql的with实现递归查询(sql2005以上肯定支持,sql2000不清楚是否支持): with subqry(id,name,pid) as ( select id,name,pid from test1 where id = 5 union all select test1.id,test1.name,test1.pid from test1,subqry where test1.p...

现在最流行的商业数据库全是关系数据库,只是一对一的,虽然表以是B树的形式存储的,不过你如果只用数据库,那么无法完成树形存储,不过可以通过以文本形式存储XML来解决存取树形结构的问题... 就是把XML当做TEXT 存到数据库中,然后再用XML解析...

不知道你的数据库是什么,如果是oracle的话,你用start with connect by试试。我不太确定能不能直接出来你要的效果。如果出不来,那么用start with connect by+union all+条件判断(分别写每一个level=1的情况)应该可以,不过如果level=1有很多...

首先查询的时候最好按照id的大小排序,应该是越小的是父节点,越大的是子节点,升序 才好用下面的方法 Map temp=new HashMap(); 读取数据库数据 循环拿出,每次一条记录,相当于一个GroupTreeVo对象 每次都new 一个GroupTreeVo,数据库赋值,并...

一般比较普遍的就是四种方法:(具体见 SQL Anti-patterns这本书) Adjacency List:每一条记录存parent_id Path Enumerations:每一条记录存整个tree path经过的node枚举 Nested Sets:每一条记录存 nleft 和 nright Closure Table:维护一个表...

sqlserver查询树形结构的所有子节点 用标准sql的with实现递归查询(sql2005以上肯定支持,sql2000不清楚是否支持): with subqry(id,name,pid) as ( select id,name,pid from test1 where id = 5 union all select test1.id,test1.name,test1.p...

网站首页 | 网站地图
All rights reserved Powered by www.hsfl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com