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

Вниз

Сортировка чисел в виде строк с иерархической структурой   Найти похожие ветки 

 
Виктор Исмагилов   (2004-04-10 15:00) [0]

Не подскажет ли кто нибудь решение такой проблемы:
имеется поле БД, в котором представлены некоторые реестровые номера объектов в виде "Объект/подобъект/...", т.е.
1
2
2/1
2/1/1
2/2
3
3/1
и т. д. Номера могут добавляться и удаляться в случайном порядке. При таком формате отображения поле естественно стриноговое. Заказчик требует, что бы данные в сетке отображались именно в таком иерархически возрастающем порядке, но поскольку это строки, то сортируются они в виде
1
10
10/1
2
20 и т.д. Не подскажет ли кто нибудь алгоритм, как можно их отсортировать в виде иерархического дерева. Заранее благодарен.


 
Desdechado ©   (2004-04-10 16:03) [1]

1. написать UDF, которая корректно разбирает содержимое поля и выдает признак для сортировки
2. изменить структуру БД для хранения иерархии


 
Digitman ©   (2004-04-10 16:24) [2]


> Виктор Исмагилов  


если кол-во уровней иерархии ограничено, то в случае невозможности изменить структуру базы UDF будет вполне изящным и эффективным решением


 
Digitman ©   (2004-04-10 16:29) [3]

да и в случае возможности добавить в таблицу одно технол.поле (для послед.сортировки по нему) и пару триггеров (формирующих поле) оч желательно не отказываться от UDF, которая значительно эффективней справится хотя бы с задачей парсинга строки



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
1-1082542972
Alone
2004-04-21 14:22
2004.04.11
Таблица со строками переменной высоты в QuickReport.


1-1080108709
sohat
2004-03-24 09:11
2004.04.11
А есть ли книть компоненты - интерпритаторы?


3-1079078589
Ломак
2004-03-12 11:03
2004.04.11
Процедура в Firebird


7-1075489491
kolpin
2004-01-30 22:04
2004.04.11
Запись файлов и папок на CD-RW


1-1080052633
kingdom
2004-03-23 17:37
2004.04.11
Как программно проверить, что IE отобразил страницу