SQLserver 树类型,遍历问题,谢谢
发布网友
发布时间:2022-04-11 20:56
我来回答
共3个回答
热心网友
时间:2022-04-11 22:25
Create Table Tb
(
Pid Varchar(50),
CEID Varchar(50),
Level int,
Ccode Varchar(50),
pCode Varchar(50)
)
Insert Into TB Values('','1',0,'产品1','')
Insert Into TB Values('1','2',1,'Test1','产品1')
Insert Into TB Values('1','3',1,'Test2','产品1')
Insert Into TB Values('2','4',2,'Test11','Test1')
Insert Into TB Values('2','5',2,'Test12','Test1')
Insert Into TB Values('3','6',2,'Test21','Test2')
Insert Into TB Values('3','7',2,'Test22','Test2')
Insert Into TB Values('6','8',3,'Test211','Test21')
Insert Into TB Values('6','9',3,'Test212','Test21')
Insert Into TB Values('6','10',3,'Test213','Test21')
With T
As
(
Select Pid,CEID,Ccode,Level,Convert(Varchar(4000),CEID) As Path From TB Where Pid=''
Union All
Select TB.Pid,TB.CEID,TB.Ccode,TB.Level,Convert(Varchar(4000),T.Path+'-'+TB.CEID) From TB inner join T On TB.Pid=T.CEID
)
Select replicate(' ',level)+Ccode As Ccode From T
Order By Path
热心网友
时间:2022-04-11 23:43
我看到红框中 只有4级
如果只有4级的话 那就join就可以了
sqlserver遍历树形目录
使用sqlserver递推查询,可以直接查询出来。参考资料:http://www.cnblogs.com/xfrog/archive/2010/10/10/1847462.html WITH lmenu(nav_id,nav_name,nav_parentid,level) as (SELECT nav_id,nav_name,nav_parentid,0 level FROM nav nav_parentid=0 UNION ALL SELECT A.nav_id, A.nav_name,...
在SQLSERVER数据库表中遍历列,遍历的列的字段包含在另一个表的某列中...
有游标循环即可。decalre @fieldName varchar(128)declare @sql varchar(max)set @sql='select row_number() 'declare MyCur cursor for select ID form table1 open fetch next from MyCur into @FieldName while @@fetch_status = 0 begin sql=@sql +','+@FieldName fetch next from MyC...
sqlserver语句如何循环遍历每张表
http://stackoverflow.com/questions/175415/how-do-i-get-list-of-all-tables-in-a-database-using-tsql
sqlserver存储过程可以遍历一个查询出来的结果集吗
open C_cursorname fetch next from C_cursorname into @var_col_a,@var_col_b while @@fetch_status!=0 begin --具体实现 fetch next from C_cursorname into @var_col_a,@var_col_b end --大致是这样的。但不推荐用游标,游标效率太低了,需用游标解决的问题,基本都可用 表连接来...
100分 求教SQLSERVER中的用游标遍历表中的列并实现累加输出。_百度知 ...
你逻辑流程有问题 ,下面是你的逻辑流程,读取下一条→加值→[判断是否结尾→读取下一条→加值](循环)而@@FETCH_STATUS返回3种状态,0 FETCH 语句成功。-1 FETCH 语句失败或此行不在结果集中。-2 被提取的行不存在。这样在游标移动到最后一行的时候,进行while判断@@FETCH_STATUS为0 ,进行一次...
SQLServer索引的性能问题
改操作中索引的存在会增加一定的工作量 因此 在适当的地方增加适当的索引并从不合理的地方删除次优的索引 将有助于优化那些性能较差的SQL Server应用 实践表明 合理的索引设计是建立在对各种查询的分析和预测上的 只有正确地使索引与程序结合起来 才能产生最佳的优化方案 本文就SQL Server索引的性能问题进行了一些分析...
如何保存树形菜单当前打开的状态
即使你是无限级的,但你在后台上传给菜单分类的时候,对前台来说就是确定好的,有限的分类,最好的方法就是你在后台生成的时候,生成一个xml用来表示菜单,第个节点加一个expend属性,以后遍历的时候,就可以根据它的expend是否决定展开,但现在一想,不行.database,txt都是一样,他们都有个全局性,也就是你一...
java如何对sqlserver 查询的结果格式化?
如果col3或col5不同 合并后的记录取那个呀?--- 使用 分组函数ROW_NUMBER() over(PARTITION by col order by col desc)试试,按col1,col2分组,把这个字段放到查询结果中,在程序中遍历, 该字段相同的就合并
如何利用索引提高SQLServer数据处理的效率
本文就SQL Server索引的性能问题进行了一些分析和实践。 一、聚簇索引(clustered indexes)的使用 聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引...
往sqlserver数据库插数据SqlServer卡住了
这种问题是这样的,数据库设计不合理是最主要的原因。解答如下:修改数据库,在订单之中必须有份数这个字段,否则人家点10份同样的才你怎么办?