Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Помогите с функцией  [new]
Dj_Taurus
Member

Откуда: Череповец
Сообщений: 8
Мне надо написать функцию следующего алгоритма:

Есть таблица StructureSE с полями id_structure,name_structure,parental_id и некоторыми записями.

1) Найти записи в таблице StructureSE для StructureSE.parental_id = 0
2) Из найденных, выбрать запись с min значение по полю id_structure
3) Если "да", то занести найденную запись в таблицу StructureReport, если "нет", то бла-бла-бла
4) Найти записи в таблице StructureSE для StructureSE.parental_id = минимал. значение из ранее найденого
5) Из найденных, выбрать запись с min значение по полю id_structure
6) Если "да", то занести найденную запись в таблицу StructureReport, если "нет", то вернуться к шагу 1 и повторить его
7) Найти записи в таблице StructureSE для StructureSE.parental_id = минимал. значение из ранее найденого
8) Из найденных, выбрать запись с min значение по полю id_structure
9) Если "да", то занести найденную запись в таблицу StructureReport, если "нет", то вернуться к шагу 4 и повторить его

И все это до тех пор, пока не закончатся записи в таблице StructureSE

На словах вроде расписал алгоритм, а вот воплотить его в жизнь - проблема

Select... order by не поможет!!! Пробовал
________________________________________________
Да здравствует мыло душистое! И веревка пушистая! ©
22 авг 06, 15:04    [3038125]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с функцией  [new]
Заботин А.
Member

Откуда: Санкт-Петербург
Сообщений: 155
Изложите варианты Вашего воплощения.
Что вообще значит "Если да"?
select min(id_structure) fldvalue from StructureSE where parental_id = 0 into cursor r1
numMin = r1.flfvalue
22 авг 06, 15:10    [3038166]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с функцией  [new]
Dj_Taurus
Member

Откуда: Череповец
Сообщений: 8
Если да или нет- значит, если запись найден по условию или не найдена

Да здравствует мыло душистое! И веревка пушистая! ©
22 авг 06, 15:13    [3038188]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с функцией  [new]
Заботин А.
Member

Откуда: Санкт-Петербург
Сообщений: 155
Вас два раза просить надо, что бы Вам же помочь?
Изложите варианты Вашего воплощения.
С одной стороны задача представляется очень простой. С другой алгоритм Ваш написан не правильно.
Как из 6 шага перейти к первому и повторить его, если шаги 1 и 2 всегда выдают единственный ответ? Может в шаге 6 надо удалять данные из таблицы для выбранного минимального значения? Ну и с 9 шагом аналогично.
Не похоже что бы Вы пытались задачу решить. Вместо выдумывания умопомрачительного ориджина лучше бы потратили время на задачу.
22 авг 06, 15:23    [3038271]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с функцией  [new]
-=AlexiS=-
Member

Откуда: Одесса
Сообщений: 712
Dj_Taurus
3) Если "да", то занести найденную запись в таблицу StructureReport, если "нет", то бла-бла-бла

бла-бла-бла - внушаит понимаш !!
Похоже на исковерканый до не узноваемости алгоритм обхода дерева .
Если так - то рекурсия спасет отца русской бла-бла-бла , тху демократии.
22 авг 06, 15:54    [3038504]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить