|
|
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Помогите написать запрос. Имеется один объект, в котором есть полные наименования административных единиц в одно слово (или несколько). По сути представляет собой иерархию населенного пункта. Так же имеется словарь сокращений. Необходимо каждой записи с полным путем, сопоставить запись с сокращениями. Для тех слов, которым не нашлось сокращение - оставить полное слово. Т.е для "ГородРегионПоселок" это будет "Гор Рег Пос" для "Хутор Село" это будет "Хутор С" Сделала для варианта, когда есть сокращения для каждого из слова. Зависла на том, когда нет слова с справочнике сокращений (На примере Хутора). Мой запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. WHAT FINISH_RESULTГородРегионПоселок Гор Рег ПосКрайОбласть Район К Обл РайХутор Село С Хутора нет в справочнике сокращений, поэтому он не подхватился. А мне в этом случае нужно, чтобы он остался в исходном виде. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 15:05 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Версия Oracle: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 15:25 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Сверстал на коленке для (размер справочника не более 999 элементов - можешь уменьшить/увеличить соотв-е значение) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 15:31 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Имхо, засунуть сокращения в коллекцию в пакете на постоянке + детерминистик функция с пробегом по коллекции и реплейсом и не париться ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 15:33 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Плюсы: просто и возможно, эффективно. Минусы: все-таки справочник хранить в пакете не очень удобно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 16:00 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Немного соптимизировал свое решение Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 16:05 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
AmKad, то что надо! Спасибо за оперативный ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 16:15 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Задумалась над запросомто что надо! Неужели вся база в таких запросах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 16:20 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Тоже задумался, задача разовой обработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 16:39 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Если вы пробуете что-то привести к виду ФИАС, то возможно не стоит городить свои преобразования? край - край район - рн хутор - х а еще забыли Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 17:48 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Руслан Дамирович, Вы действительно думаете, что в тестовом запросе из дуала мне нужные все значения ФИАС? Сокращения так же придуманы из головы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 20:25 |
|
||
|
Многократные замены
|
|||
|---|---|---|---|
|
#18+
Задумалась над запросомСокращения так же придуманы из головы.Тогда важно, чтобы голова думала в правильном направлении, а то каша получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 23:20 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39370337&tid=1886784]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 517ms |

| 0 / 0 |
