感觉这个CTE递归查询蛮好用的,先举个例子: use City; go create table Tree ( ID int identity(1,1) primary key not null, Name varchar(20) not null, Parent varchar(20) null ) go insert Tree values('大学',null) insert Tree values('学院','大学') insert Tree values('计算机学院','学院') insert Tree values('网络工程','计算机学院') insert Tree values('信息管理','计算机学院') insert Tree values('电信学院','学院') insert Tree values('教务处','大学') insert Tree values('材料科','教务处') insert Tree values('招生办','大学') go with CTE as ( -->Begin 一个定位点成员 select ID, Name,Parent,cast(Name as nvarchar(max)) as TE,0 as Levle from Tree where Parent is null -->End union all -->Begin一个递归成员 select Tree.ID, Tree.Name,Tree.Parent,cast(replicate(' ',len(CTE.TE))+'|_&