求一简单树形SQL语句!
数据库为sqlserver 2005 原表结构如下!
create table test(
id int primary key,
name varchar(10),
pid int--父级ID
);
数据如下:
insert into test values (1,'张三',1);
insert into test values (2,'李四',1);
insert into test values (3,'王五',2);
insert into test values (4,'小罗',3);
insert into test values (5,'周哥',4);
要求结果如下:
id 姓名 直属父级姓名
1 张三 张三
2 李四 张三
3 王五 李四
4 小罗 王五
5 周哥 小罗
实际环境的表结构稍复杂一些,请问如何使用一条SQL,实现这个结果,谢谢!
...全文
相关推荐
左侧树形菜单+右侧页面+sql2000
一个页面,左侧是树形菜单,菜单是三级的,右侧根据左侧菜单而响应不同的结果页面,页面和SqlServer2000数据连接,实现了对数据库的插入操作。可以根据自己的需要扩展。
SQL处理多级分类,查询结果呈树形结构
这样处理的弊端是:如果数据量大,子分类很多,达到4级以上,这方法处理极端占用数据库连接池 对性能影响很大。 如果用SQL下面的CTE递归处理的话,一次性就能把结果给查询出来,而且性能很不错 比用程序处理(数据量很大的情况),临时表性能更好,更方便 代码如下: with area as( select *,id px,cast(id as nvarchar(4000)) px2 from region where parentid=0 union all select a.*,b.px,b.px2+ltrim(a.region_id) from region a join area b on
SQL实现无限级树形菜单
TreeView实现无限级分类可以通过TreeView实现增删改查,数据库采用的是SQL 2005,数据库名:CurrentK.bak
sql树形结构使用with
软件开发经常要用到树形结构,采用sql实现树形结构是一种不错的方式,此例支持sql2005
Oracle SQL树形结构查询
本文介绍Oracle中使用START WITH...CONNECT BY PRIOR子句实现递归查询树形结构的方法,小伙伴们可以参考一下。


