2010-11-08 194 views
1

麪包屑我有一個數據表生成數據庫

id  parent order tab  desc 
------------------------------------------------------------------------ 
    1  Null 1 False  abcdef 
    2  Null 2 False  efgh 
    3  1  1 False  sadad 
    4  1  2 False  aasd 
    5  3  1 True  qwer 
    6  3  1 True  asdad 
    7  5  1 False  zxzc 
    8  5  2 False  okli 

此表有大約與子段和標籤列中的所有頁面的數據表明,這是標籤在該網頁上,但不是一個新的頁面

我想要生成xml並使用這些數據生成麪包屑,我該如何實現使用這些數據?

回答

2

麪包屑,你需要使用遞歸CTE這樣的:

;with Tree as 
(
    select CONVERT(varchar(100), id) as Path, id 
    from Tbl 
    where Tbl.Parent is null 

    union all 

    select Tree.Path + ' > ' + id as Path, id 
    from Tbl 

     inner join 
     Tree 
     on Tree.id = Tbl.Parent 
) 

select * from Tree 

這裏的麪包屑是每一行的只是ID,但你可以改變它,你想要哪個列(也在你的結果集中包括你想要的其他任何列)。