t-sql递归查询
发布时间:2020-05-25 10:11:16 所属栏目:MsSql 来源:互联网
导读:基于现有的表,我使用CTE递归查询来得出以下数据.但未能进一步应用它. 数据如下 id name parentid--------------------------1 project 02 structure 13 path_1 24 path_2 25 path_3 26 path_4 3
|
基于现有的表,我使用CTE递归查询来得出以下数据.但未能进一步应用它. 数据如下 id name parentid -------------------------- 1 project 0 2 structure 1 3 path_1 2 4 path_2 2 5 path_3 2 6 path_4 3 7 path_5 4 8 path_6 5 我想以递归方式从上面的数据中形成完整路径.表示递归将提供以下输出. FullPaths ------------- Project ProjectStructure ProjectStructurePath_1 ProjectStructurePath_2 ProjectStructurePath_3 ProjectStructurePath_1path_4 ProjectStructurePath_2path_5 ProjectStructurePath_3path_6 谢谢 解决方法这是一个CTE的例子:declare @t table (id int,name varchar(max),parentid int)
insert into @t select 1,'project',0
union all select 2,'structure',1
union all select 3,'path_1',2
union all select 4,'path_2',2
union all select 5,'path_3',2
union all select 6,'path_4',3
union all select 7,'path_5',4
union all select 8,'path_6',5
; with CteAlias as (
select id,name,parentid
from @t t
where t.parentid = 0
union all
select t.id,parent.name + '' + t.name,t.parentid
from @t t
inner join CteAlias parent on t.parentid = parent.id
)
select *
from CteAlias (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如何在SQLAlchemy中的引擎SQL方言中使用DDL生成文
- sql-server – 如何通过数据库获取特定实例的CPU
- 是否有像SQL Server 2005的TRY / CATCH块这样的M
- sql-server – 这个Constant Scan和Left Outer J
- .net – 此代码是否阻止SQL注入?
- sql-server – TSQL授予对所有表的读写权限
- SQL Server的良好实践:nvarchar(max)性能
- sql-server – 为什么CHECKDB在具有内存优化表的
- sql-server – 以多对多关系进行更新
- SQL Server -- 回忆笔记(三):ADO.NET之C#操作
热点阅读
