在MySql下,怎么用SQL语句遍历一个树结构

在MySql下,怎么用SQL语句遍历一个树结构,第1张

f exists (select * from dbo.sysobjects where id = object_id(N'[tb]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [tb]

GO

--示例数据

create table [tb]([id] int identity(1,1),[pid] int,name varchar(20))

insert [tb] select 0,'中国'

union all select 0,'美国'

union all select 0,'加拿大'

union all select 1,'北京'

union all select 1,'上海'

union all select 1,'江苏'

union all select 6,'苏州'

union all select 7,'常熟'

union all select 6,'南京'

union all select 6,'无锡'

union all select 2,'纽约'

union all select 2,'旧金山'

go

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_id]') and xtype in (N'FN', N'IF', N'TF'))

drop function [dbo].[f_id]

GO

/*--树形数据处理

级别及排序字段

--邹建 2003-12(引用请保留此信息)--*/

/*--调用示例

--调用函数实现分级显示

select replicate('-',b.[level]*4)+a.name

from [tb] a,f_id()b

where a.[id]=b.[id]

order by b.sid

--*/

create function f_id()

returns @re table([id] int,[level] int,sid varchar(8000))

as

begin

declare @l int

set @l=0

insert @re select [id],@l,right(10000+[id],4)

from [tb] where [pid]=0

while @@rowcount>0

begin

set @l=@l+1

insert @re select a.[id],@l,b.sid+right(10000+a.[id],4)

from [tb] a,@re b

where a.[pid]=b.[id] and b.[level]=@l-1

end

return

end

go

--调用函数实现分级显示

select replicate('-',b.[level]*4)+a.name

from [tb] a,f_id()b

where a.[id]=b.[id]

order by b.sid

go

--删除测试

drop table [tb]

drop function f_id

go

/*--结果

中国

----北京

----上海

----江苏

--------苏州

------------常熟

--------南京

--------无锡

美国

----纽约

----旧金山

加拿大

--*/

南京软件测试培训机构推荐选择【达内教育】,该机构线上线下交互学习,对标企业人才标准,制定专业学习计划,囊括主流热点技术。感兴趣的话点击此处,免费学习一下

在选择培训【软件测试培训机构】时需要考虑学校口碑。一个学校怎么样,从校内学生的口中就可以得到真实口碑,建议直接去实地问校内学生,获取最真实的评价。课程再好也是老师来教,这时候就要了解学校的老师水平如何,看看有没有大企业的任职经验和多年的测试经验。课程内容的专业性和实用性决定了学生未来的就业,课程内容要看机构考证或职称课程含金量情况如何,学习内容是否立足于提升学员的技能和紧贴企业的实际用人需求,内容设置上是否有深度和广度,尤其是在核心的、关键的知识点上是否有足够的时间讲解,需要学生细细比较学习内容和时间设置的科学性。

想了解更多有关软件测试的相关信息,推荐咨询【达内教育】。达内教育集团历时一年,耗资千万,重磅推出“因材施教、分级培优”创新教学模式,同一课程方向,面向不同受众群体,提供就业、培优、才高三个级别教学课程,达内“因材施教、分级培优“差异化教学模式,让每一位来达内学习的学员都能找到适合自己的课程。达内IT培训机构,试听名额限时抢购。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7262810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存