Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

ПОМОГИТЕ написать процедуру извлечения потомков, ПЛЗ!!!...   Найти похожие ветки 

 
DBDev   (2003-04-24 12:40) [0]

Имеем таблицу Т с деревом замкнутую на себе:
CID int
ParentID int
Category varchar[255]


напр.

1 0 Товары
2 1 Обувь
3 2 Женская
4 2 Мужская
...

Нужна процедура возвращающая рекордсет со всеми прямыми и косвенными потомками произвольной ветви дерева, которой на вход подается CID любой ветки.

CREATE PROCEDURE [dbo].[sp_select_childs] @cid int AS

SET nocount ON
DECLARE @tmp AS INT

SELECT @tmp= ParentID FROM Т WHERE CID = @cid

IF (@tmp = 0 )
SET @tmp = @cid
ELSE
BEGIN

WHILE EXISTS (SELECT * FROM Т WHERE CID IN (SELECT ParentID FROM Т WHERE CID = @tmp) )
SELECT @tmp= ParentID FROM ServicesTree WHERE CID = @tmp

END
select @tmp
return @tmp
GO


Что-то она по моему все наоборот делает, в чем ошибка, понять не могу...


 
Соловьев ©   (2003-04-24 12:50) [1]

а зачем всех потомков, хватит только тех, которые следующие.


 
NAlexey ©   (2003-04-24 13:09) [2]

Посмотри здесь: http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=605 может поможет


 
DBDev   (2003-04-24 14:08) [3]

2 NAlexey : СЕНКС!!!



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-46714
чютатель
2003-05-04 16:28
2003.05.15
Как прочитать константу из dll ?


3-46621
KINDA
2003-04-24 11:35
2003.05.15
C ommit в ХП


6-46874
VanX
2003-03-19 10:50
2003.05.15
Срочно нужен компонент DialUp


7-47023
Snap
2003-03-17 18:52
2003.05.15
Можно ли отследить что мышка была нажата или передвинута программно, а не юзером?


1-46768
sevlad
2003-04-30 15:17
2003.05.15
Особености работы модальной формы из ОСХ