lzth.net
相关文档
当前位置:首页 >> sql 递归 >>

sql 递归

sql 递归查询的方法: 方法一:T-SQL递归查询 with Dep as ( select Id,DeptCode,DeptName from Department where Id=1 union all select d.Id,d.DeptCode,d.DeptName from Dep inner join Department d on dep.Id = d.ParentDeptId ) select * ...

在SQL SERVER 2000 中你可以先一些自定义函数,或一些存储过程,实现递归: select level,TypeName from ProductType t START WITH t.ParentID=0 CONNECT BY PRIOR t.ProductTypeID= t.ParentID;

--这个统计,关键看你的表结构是怎样设计的--以下是我的表--省,市,区县,镇,村(在国家统计网址上可以下载到txt文档)select * from Apo_province --省select * from Apo_city --市select * from Apo_county --区/县select * from Apo_town --镇sele...

SQL 语句不支持不知道层次数量的递归查询。所以你的上级机构如果不知道层数的话是没有办法查询的,如果知道层数的话还是可以写的。 你现在的情况,如果数据量不大的话可以考虑把所有数据查出来,放到内存中,然后在程序里处理你的递归查询

declare @b nvarchar(2) =1; with abc(id,b_PriorID,level)as ( select id,b_PriorID,0 level from #tt where b_PriorID =@b union all select a.id,a.b_PriorID,t.level+1 from #tt a inner join abc t on t.id=a.b_PriorID ) select * from ab...

with tt(select 语句1 --初始化 union all select 语句2) select * from tt 在select 语句2中from的表里关联with后面的表名tt就形成递推了。

select * from table_name where id in (select id from table connect by prior id = pid start with id = 你想起始的ID); (select id from table connect by prior id = pid start with id = 你想起始的ID); 这部分就可以递归查询到所有以某一...

给你一个例子,跟这个差不多: CREATE TABLE T(ID INT ,PID INT) INSERT INTO T SELECT 1,0 UNION ALL SELECT 2,0 UNION ALL SELECT 3,1 UNION ALL SELECT 4,1 UNION ALL SELECT 5,2 UNION ALL SELECT 6,4 UNION ALL SELECT 7,3 UNION ALL SELEC...

有一个存储目录树的表,定义目录间的关系字段有两个: 如下:(ClassID表示该目录的编号,ClassParentID表示它的父目录的编号) ClassID ClassParentID 1 1 2 1 3 2 4 3 5 3 表示的关系应该是 -1--(根目录) | -2--(第二级目录) | -3--(第三级目录) | -...

CREATE TABLE #test ( A char(1), B char(1))GOINSERT INTO #test VALUES('a', 'b');INSERT INTO #test VALUES('b', 'c');INSERT INTO #test VALUES('c', 'd');INSERT INTO #test VALUES('d', 'e');INSERT INTO #test VALUES('e', 'f');INSERT I...

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