日期:2014-05-18  浏览次数:20427 次

【取最后路径的问题】
表TB的PATH字段如下
SQL code
path
-------------
1
1-2
1-2-3
1-2-3-4
a
a-b
a-b-c
a-b-d
a-e

我要的结果
/*
path
-------------
1-2-3-4
a-e
a-b-c
a-b-d
*/

提示:
其实就是取一个树形结构的最后路径 - -|| 一下子想不出了 谢谢各位
   *
           1   a
          2   b e
         3   c d
        4
 上面是树形结构 就是取这里的终极路径

------解决方案--------------------
SQL code
--> 测试数据:@tb
declare @tb table([path] varchar(7))
insert @tb
select '1' union all
select '1-2' union all
select '1-2-3' union all
select '1-2-3-4' union all
select 'a' union all
select 'a-b' union all
select 'a-b-c' union all
select 'a-b-d' union all
select 'a-e'

select * from @tb AS A
WHERE NOT EXISTS(SELECT * FROM @tb 
                 WHERE path LIKE A.path + '_%')