0
ДенисЧ
01.04.09
✎
12:23
|
Как известно, в MSSQL 2005 ввели возможность построения рекурсивных запросов через common table expressions
Но я никак не врублюсь, как построить примитивный запрос по справочнику, чтобы дерево получить...
Кто в теме, подскажите...
|
|
1
los_hooliganos
01.04.09
✎
12:40
|
Как-то так:
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, так что оттестировать не могу.
|
|