|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Здравствуй, Форум Хочу спросить Вас, как можно решить такую проблему: Дано таблица с пунктами нормативной документации: IDПункЗначения21.42.53.3.75.1.1.95.1.17.85.1.7. Как можно сделать запрос чтобы список был по порядку возрастания (По лоГГике, а не по значению символа), исключая такие случаи: 95.1.17.85.1.7. из теоретических размышлений: 1. Заставлять людей ставить нули в нужных местах (но они всё равно не знают сколько их нужно) 2. Как то распарсивать, но понятия нет ни как это делать вообще, ни как это реализовать в sql запросе ____ vk.com/taenfox ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 15:02 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
И ещё одна проблема в то же лукошко: хочется как то добавлять отступы в соответствии с уровнем списка ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 15:04 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
MokeevP1. Заставлять людей ставить нули в нужных местах (но они всё равно не знают сколько их нужно) 2. Как то распарсивать, но понятия нет ни как это делать вообще, ни как это реализовать в sql запросе деревья, сборки, этапы, версии сборок. Это неоднократно осуждалось не только на нашей ветке. Это текстовое поле и нули нужны для сортировки. По этому сколько знакомест в каждой части вам придется определяться обязательно и прцедуркой поправлять пользователей (то есть вставлять нулики) С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 15:25 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Long from IP Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 15:43 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
PredeclaredLong from IP Не? Не, не хочу рисковать при ситуации, когда я захочу поменять трактовку, старую сделать недействительной, а новая получится в самом низу списка, потому что id - счётчик ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 15:53 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
ROIMokeevP1. Заставлять людей ставить нули в нужных местах (но они всё равно не знают сколько их нужно) 2. Как то распарсивать, но понятия нет ни как это делать вообще, ни как это реализовать в sql запросе деревья, сборки, этапы, версии сборок. Это неоднократно осуждалось не только на нашей ветке. Это текстовое поле и нули нужны для сортировки. По этому сколько знакомест в каждой части вам придется определяться обязательно и прцедуркой поправлять пользователей (то есть вставлять нулики) С уважением. А если я категорически не знаю на сколько уровней очередной документописец захочет погрузится в структуру? И пользователю придётся на каждый уровень отвечать в inputbox циферку? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 15:56 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Если структура именно такая - строго цифры, строго разделённые точками, и если имеется некое ограничение на количество цифр - я бы нарисовал функцию, которая форматирует эти номера в номера с фиксированным количеством ведущих нулей. Типа Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
И использовал её в запросах для сортировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 16:02 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
MokeevP..., потому что id - счётчик А при чем тут ID и счетчик? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:04 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
MokeevP А если я категорически не знаю на сколько уровней очередной документописец захочет погрузится в структуру? И пользователю придётся на каждый уровень отвечать в inputbox циферку? У меня с деревом, при его заполнении, добавлении - перемещении конечных нод и папок была такая же проблема....ввел в таблицу доп поле - уровень - и заполняю его функцией при каждом добавлении- перемещении ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:21 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
PredeclaredMokeevP..., потому что id - счётчик А при чем тут ID и счетчик? При том что я не знаю как счётчику произвольное значение присвоить Возможно, я не правильно понял Ваше предложение ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:22 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Serg197311MokeevPА если я категорически не знаю на сколько уровней очередной документописец захочет погрузится в структуру? И пользователю придётся на каждый уровень отвечать в inputbox циферку? У меня с деревом, при его заполнении, добавлении - перемещении конечных нод и папок была такая же проблема....ввел в таблицу доп поле - уровень - и заполняю его функцией при каждом добавлении- перемещении и, наверно, родительский пункт, да? Вариант нравится, но потом запрос всё равно не знаю как сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:25 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
AkinaЕсли структура именно такая - строго цифры, строго разделённые точками, и если имеется некое ограничение на количество цифр - я бы нарисовал функцию, которая форматирует эти номера в номера с фиксированным количеством ведущих нулей. Типа Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
И использовал её в запросах для сортировки. А если попробовать так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Вообще сейчас это на коленке писал и задумка была круче исполнения, но, если тут ещё чуть-чуть поколдовать оно ведь может и списки а,б,в воспринимать... наверно... если оно вообще работает :D ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:46 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
MokeevP и, наверно, родительский пункт, да? Вариант нравится, но потом запрос всё равно не знаю как сделать Ну у меня - да, родительский... У вас надо нарисовать функцию которая бы выдавала некую абсолютную величину, рассчитанную из кода пункта, разместить ее в модуле под public function, и при выполнении запроса указывать сортировку по ней.... Саму функцию сейчас рисовать не буду - устал - но идея такая: цифра до первой точки - число тысяч, от первой до второй - сотен, после второй - единицы. Достаем символы через instr и mid, конвертируем их через eval и складываем. Гуру, не бейте сильно ногами если что не так написал...... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:48 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Ну может стоит порядок нулей увеличить... чтоб 3.17.4 с 4.5.2 правильно разместить.... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:53 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
[quot Serg197311]MokeevPГуру, не бейте сильно ногами если что не так написал...... Не переживайте, бить будут меня) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 17:56 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
MokeevP, В какой то подобной БД, например справочник УК, я создал 3 числовых поля Статья Часть Пункт Сортировал по ним А визуально в запросе соединял эти 3 поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 18:07 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
ЛапухMokeevP, В какой то подобной БД, например справочник УК, я создал 3 числовых поля А если есть возможность сделать так - ИМХО самый лучший выход... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 18:10 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Serg197311ЛапухMokeevP, В какой то подобной БД, например справочник УК, я создал 3 числовых поля А если есть возможность сделать так - ИМХО самый лучший выход... Но это опять таки при известном количестве уровней. Суть моей бд в выставлении замечаний к отчетам. К этим замечаниям нужно прикрутить нормативку. А нормативку у нас это различные отраслевые регламенты, стандарты нашей организации, стандарты этой системы организаций, инструкции и методички и короче хрен его знает какие там уровни :D ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 18:20 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
MokeevP, навряд ли больше 4. Для 4 параметра можно придумать имечко, например - подпункт. Зато простенькое и со вкусом. Даже такой - Лапух как я сможет понять логику работы с БД, а уж ваши пользователи или вы сами , как разработчик и подавно. Иногда использую одно числовое поле - Номер по порядку. Навводил данных, хоть со 100 подпунктами, пронумеровал как тебе хотса и отсортировал по этому полю. Нудно, но именно так как тебе захочется. Лично я сторонник первого варианта из 3-х таблиц и в 3-й таблице 2 поля, если есть 4-й подпункт. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 18:30 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Лапух, тока щас мои тараканы в голове подсказали, что я кому то помогал делать БД по военной части, а там градация типа такой была Армия Корпус Дивизия Полк Батальон Рота Взвод Отделение Возможно - Группа (спецназ) И это было реализовано на 2-х таблицах. Как только доберусь до ПК из планшета, то выложу если интересно. Хотя это наверное общеизвестный метод решения задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 19:19 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
MokeevPА если попробовать такА в чём профит? Для смешанных данных можно в моём коде вместо нулей добавлять и пробелы - работать будет точно так же. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 19:47 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
AkinaMokeevPА если попробовать такА в чём профит? Для смешанных данных можно в моём коде вместо нулей добавлять и пробелы - работать будет точно так же. Не знаю как на счёт профита, я твой просто не понимаю, скилл не тот Но интересно - будет работать или нет мой, завтра оба попробую и посмотрю кто куды и что к чему ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 22:35 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
ЛапухЛапух, тока щас мои тараканы в голове подсказали, что я кому то помогал делать БД по военной части, а там градация типа такой была Армия Корпус Дивизия Полк Батальон Рота Взвод Отделение Возможно - Группа (спецназ) И это было реализовано на 2-х таблицах. Как только доберусь до ПК из планшета, то выложу если интересно. Хотя это наверное общеизвестный метод решения задачи. в отношении меня - "Нищему что ни дай - всё прибыль", посему буду рад изучить, клади :) Я понимаю как решить такую задачу в разрезе выдачи отчёта через VBA Но я не очень понимаю как сделать это посредством Select`а В моей настольной книжке есть параграф про рекурсивные запросы и, насколько я это понимаю, это то, что нужно, но практически применить их я пока не в силе, просто понимания ещё нет, натурально смотрю в книгу и вижу фигу Книга, кстати, из серии "для чайников" ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 22:41 |
|
Разноуровневый список: сортировка в запросе
|
|||
---|---|---|---|
#18+
Кстати, а полтора километра Union'ов - это, наверно, не слишком адекватное решение?) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 23:08 |
|
|
start [/forum/search_topic.php?author=acava&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 1496ms |
total: | 1688ms |
0 / 0 |