Создать крошку из базы данных - PullRequest
1 голос
/ 08 ноября 2010

У меня есть таблица с данными

 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

Эта таблица содержит данные обо всех страницах с подразделами, а столбец с вкладками указывает, что это вкладка на этой странице, но не новая страница

Iхотите сгенерировать xml и создать крошку, используя эти данные, как я могу добиться этого, используя эти данные?

1 Ответ

2 голосов
/ 08 ноября 2010

Для хлебных крошек вам нужно будет использовать рекурсивный 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

Здесь крошка - это просто идентификатор каждой строки, но вы можете изменить ее на любой столбец, который вам нужентакже включите все остальные столбцы, которые вы хотели в свой набор результатов).

...