SQL: Как создать представление из рекурсивного запроса?

Вопрос: У меня есть представление, которое я хочу получить из рекурсивного запроса.

Запрос имеет вид та же структура, что и здесь: http://forums.asp.net/t/1207101.aspx

И представляет представление в виде дерева в виде упорядоченного набора данных.

Как я могу создать представление, которое делает это:

;WITH Tree (ID, [NAME], PARENT_ID, Depth, Sort) AS
(
    SELECT ID, [NAME], PARENT_ID, 0 AS Depth, CONVERT(varchar(255), [Name]) AS Sort FROM Category
    WHERE PARENT_ID = 0
    UNION ALL
    SELECT CT.ID, CT.[NAME], CT.PARENT_ID, Parent.Depth + 1 AS Depth, 
    CONVERT(varchar(255), Parent.Sort + ' | ' + CT.[NAME]) AS Sort
    FROM Category CT
    INNER JOIN Tree as Parent ON Parent.ID = CT.PARENT_ID
)

-- HERE IS YOUR TREE, Depths gives you the level starting with 0 and Sort is the Name based path
SELECT ID, [NAME], PARENT_ID, Depth, Sort FROM Tree
ORDER BY Sort

9
задан marc_s 22 October 2010 в 16:10
поделиться