日期:2014-05-18 浏览次数:20612 次
create table code_catalog_structure(catalogid nvarchar(10),col varchar(10),parentid nvarchar(10)) insert into code_catalog_structure select '我是一层的一','aaa','*ROOT*' insert into code_catalog_structure select '我是一层的二','bbb','*ROOT*' insert into code_catalog_structure select '我是二层的一','ccc','我是一层的一' insert into code_catalog_structure select '我是二层的二','ddd','我是一层的二' insert into code_catalog_structure select '我是三层的一','eee','我是二层的一' insert into code_catalog_structure select '我是三层的二','fff','我是二层的二' insert into code_catalog_structure select '我是三层的三','ggg','我是二层的二' go ;with father as ( select *,lev=0 from code_catalog_structure where parentid = '*ROOT*' union all select a.*,lev=lev+1 from code_catalog_structure a join father b on a.parentid = b.catalogid ) select parentid,catalogid,lev from father /* parentid catalogid lev ---------- ---------- ----------- *ROOT* 我是一层的一 0 *ROOT* 我是一层的二 0 我是一层的二 我是二层的二 1 我是二层的二 我是三层的二 2 我是二层的二 我是三层的三 2 我是一层的一 我是二层的一 1 我是二层的一 我是三层的一 2 (7 行受影响) */ go drop table code_catalog_structure
------解决方案--------------------
以上几位同学都很认真的回答