Главная страница
    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.46 MB
Время: 0.041 c
7-1079005742
bg8
2004-03-11 14:49
2004.05.09
Синхронизация приборов с помощью TTL логики


1-1082471891
AndersoNRules
2004-04-20 18:38
2004.05.09
Spisok Directroriy v TStringList e


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


14-1082202368
garry79
2004-04-17 15:46
2004.05.09
Народ, где можно поискать avi шки или gif ы для заставок


14-1082541828
Kolyan
2004-04-21 14:03
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский