Пробую использовать такой код, но результат - пустая таблица, т.к. в @sp_level остается 0. Можете подсказать как исправить, чтобы @sp_level увеличивался?
DECLARE @sp_level INT
SET @sp_level=0;
WITH [tree] ([sp_id], [sp_parent], [sp_name], sp_level)
AS
(
SELECT [sp_id], [sp_parent], [sp_name], 0 AS sp_level
FROM [site_pages_new]
WHERE [sp_id] = 1
UNION ALL
SELECT e.[sp_id], e.[sp_parent], e.[sp_name], @sp_level + 1
FROM [site_pages_new] AS e
INNER JOIN [tree] AS d
ON e.[sp_id] = d.[sp_parent]
)
SELECT [sp_id], [sp_parent], [sp_name], @sp_level
FROM [site_pages_new]
WHERE @sp_level <= 2
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.