Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.05.2018, 17:00
|
|||
---|---|---|---|
|
|||
Заменить строку, как правильно? |
|||
#18+
Здравствуйте, вынужденно занимаюсь немного не своим делом, задание такое прилетело: имею в таблице записи вида (обычные текстовые поля): "=>Крокодил => Слон => Бегемот =>" "=>Лиса => Волк => Заяц =>" если пользователь создает в таблице новую строку: "=> Крокодил => Удав => Слон =>" то требуется 1-ю строку привести к виду =>Крокодил => Удав => Слон => Бегемот => (и во все остальные строки содержащие "=>Крокодил => Слон =>" вставить между ними "=>Удав=>" ) как это примерно сделать, куда копать, это можно SQL'ем как-то решить? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.05.2018, 17:07
|
|||
---|---|---|---|
|
|||
Заменить строку, как правильно? |
|||
#18+
HeisenbergЗдравствуйте, вынужденно занимаюсь немного не своим делом, задание такое прилетело: имею в таблице записи вида (обычные текстовые поля): "=>Крокодил => Слон => Бегемот =>" "=>Лиса => Волк => Заяц =>" если пользователь создает в таблице новую строку: "=> Крокодил => Удав => Слон =>" то требуется 1-ю строку привести к виду =>Крокодил => Удав => Слон => Бегемот => (и во все остальные строки содержащие "=>Крокодил => Слон =>" вставить между ними "=>Удав=>" ) как это примерно сделать, куда копать, это можно SQL'ем как-то решить?ничего непонятно... у вас эти слова все в ОДНОМ поле? или каждое слово в разном поле таблицы. Воспользуйтесь тэгом Крокодил Слон Бегемот и покажите: 1) что у вас 2) что нужно получить ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.05.2018, 17:52
|
|||
---|---|---|---|
|
|||
Заменить строку, как правильно? |
|||
#18+
Прогер самоучка, да, вся строка в одном поле, это данные некой иерархии для другого приложения у меня в таблице ID. Строка1. =>Крокодил => Слон => Бегемот =>2. =>Лиса => Волк => Заяц =>3. =>Крокодил => Слон => Носорог =>4. =>Крокодил => Обезьяна=> Бегемот => тут приходит пользователь и вводит вручную новую строку 4 =>Крокодил => Удав=> Слон => после ввода надо проверить всю таблицу на наличие комбинации "=>Крокодил => Слон =>" если она обнаружится, вставить между ними новый элемент "Удав", чтобы в итоге получилось ID. Строка1. =>Крокодил => Удав=> Слон => Бегемот =>2. =>Лиса => Волк => Заяц =>3. =>Крокодил => Удав=> Слон => Носорог =>4. =>Крокодил => Обезьяна=> Бегемот =>5. => Крокодил => Удав=> Слон => ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.05.2018, 17:55
|
|||
---|---|---|---|
|
|||
Заменить строку, как правильно? |
|||
#18+
HeisenbergПрогер самоучка, да, вся строка в одном поле, это данные некой иерархии для другого приложения у меня в таблице ID. Строка1. =>Крокодил => Слон => Бегемот =>2. =>Лиса => Волк => Заяц =>3. =>Крокодил => Слон => Носорог =>4. =>Крокодил => Обезьяна=> Бегемот => тут приходит пользователь и вводит вручную новую строку 4 =>Крокодил => Удав=> Слон => после ввода надо проверить всю таблицу на наличие комбинации "=>Крокодил => Слон =>" если она обнаружится, вставить между ними новый элемент "Удав", чтобы в итоге получилось ID. Строка1. =>Крокодил => Удав=> Слон => Бегемот =>2. =>Лиса => Волк => Заяц =>3. =>Крокодил => Удав=> Слон => Носорог =>4. =>Крокодил => Обезьяна=> Бегемот =>5. => Крокодил => Удав=> Слон =>replace вас спасёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.05.2018, 08:11
|
|||
---|---|---|---|
Заменить строку, как правильно? |
|||
#18+
Данные - типичное дерево. Вернее, набор деревьев (кусты типа). Хотя по сути набор односвязных списков, но односвязный список - это дерево, где любой узел имеет не более 1 потомка и не более 1 родителя. Если нормализовать данные в структуру хранения, ориентированную именно на такой тип данных, то замена становится почти тривиальной... просто в транзакции обновляем детей для введённых узлов (само собой исходные данные тоже нормализуются). А заодно контролируем непротиворечивость (проверяем, что все данные остались односвязными списками), если выбранная структура хранения позволяет нарушение количества детей либо потомков, и отсутствие замыканий (колец). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&tablet=1&tid=1611418]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 420ms |
0 / 0 |