Как известно, в MSSQL 2005 ввели возможность построения рекурсивных запросов через common table expressions
Но я никак не врублюсь, как построить примитивный запрос по справочнику, чтобы дерево получить...
Кто в теме, подскажите...
WITH CTE_Номенклатура (ID, ParentID, Level)
AS
(
SELECT ID, ParentID, 1
FROM $Справочник.Номенклатура
WHERE ParentID = $ПустойИд
UNION ALL
SELECT c.ID, c.ID, Level + 1
FROM $Справочник.Номенклатура c
INNER JOIN CTE_Номенклатура cp ON c.ParentID = cp.ID
)
SELECT * CTE_Номенклатура
PS На работе sql 2000, так что оттестировать не могу.