Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

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

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


 
Виктор Исмагилов   (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. изменить структуру БД для хранения иерархии


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

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


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


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


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


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


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


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


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

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


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

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



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

Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.144 c
11-1068199443
RA
2003-11-07 13:04
2004.05.09
TScrollBar. Создаю, но надо Max, Min и Position.


14-1082333245
Dudao
2004-04-19 04:07
2004.05.09
Delphi 8 VCL form application


1-1082763405
/\_A_M_E_P
2004-04-24 03:36
2004.05.09
Как програмно сделать главное окно програмы невидимым?


14-1082365331
АлексейК
2004-04-19 13:02
2004.05.09
Вот и верь теперь своим глазам.


3-1081653110
MadAngel
2004-04-11 07:11
2004.05.09
Поиск





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский