|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Добрый вечер! Очень нужна помощь специалистов по работе с Oracle PL/SQL. Есть следующая задача. На входе имеем строку следующего типа [1]=[30];[2,3]>[4,5];[100,200]<[1,2,3];.....[]. Длина строки за ранее не известна. С этой строки необходимо получить перечень наборов следующего типа: Пример в приложение. перебираем все варианты. по такому принципу. Может кто то сталкивался или возможно у кого то есть какой алгоритм, как реализовать данную задачу. Очень буду благодарен за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2019, 23:59 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991, Код: 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. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 00:44 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Кобанчег, добрый день! При запуске данного запроса выдает ошибку ora-00904: r invalid identifier. Версия oracle 11g enterprise edition release 11.2.0.4.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 10:42 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991, на 11.2 этот запрос не взлетит ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 11:24 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
env, добрый день! Возможно у Вас есть идеи как это можно реализовать на версии 11.2? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 11:43 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991Возможно у Вас естьНо ведь идея была показана. Возможно стоит переформулировать вопрос: "Я даже не пытаюсь думать, сделайте всё за меня". А не идеи спрашивать и алгоритмы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:01 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#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.
но это не работает , так как у вас. Я пока не особо силен в знании специфических вещей в Oracle. Мне не понятно пока, как можно отсеять не нужные данный ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:07 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
я уже неделю бьюсь над решением этой задачи и пока без успешно. А руководство требует решений, по этому и прошу о помощи ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:09 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991Я пока не особо силен в знании специфических вещей в Oracle.Ну раз ты тогадался, что дело в cross apply найди способ размножить строки без него. Для этого не надо коверкать весь запрос, пихать туда distinct и прочее. Ты вообще не объяснил зачем тебе это надо. И какой смысл использовать код если ты не в состоянии его понять и поддерживать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:16 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991я уже неделю бьюсь над решением этой задачи и пока без успешно. А руководство требует решений, по этому и прошу о помощиТы просил идею или алгоритм. Это можно было предоставить тебе в словесной форме. Вместо этого был предоставлен конкретный код, работающий на 12c+. И даже тут ты не в состянии сделать минимальное изменение. Вместо хаотических маразматических изменений общего запроса подумай как можно переписать запрос ниже без cross apply. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Можно даже не думать, а воспользоваться поиском по форуму. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:24 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Кобанчег, Задача следующаю - мне приходит ексель с набором полей. В ячейках екселя хранятся вот такие наборы разной длины и с разными условиями. Мне необходимо эти наборы натравить на запрос с базисными данными и получить выходной результат. Я c Oracle работаю пару месяцев, до этого 6 лет работал с ms sql. думаю как то разберусь с поддерживанием кода. А про специфические вещи - я имею ввиду например start with idlvl0 = 1 connect by prior idlvl0 + 1 = idlvl0 , которые я пока полностью не изучил (изучаю по необходимости). Спасибо большое за помощь и идею. Буду дальше доделывать запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:25 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991Я c Oracle работаю пару месяцев, до этого 6 лет работал с ms sql. думаю как то разберусь с поддерживанием кода. А про специфические вещи - я имею ввиду например start with idlvl0 = 1 connect by prior idlvl0 + 1 = idlvl0 , которые я пока полностью не изучилТогда должен суметь перебрать все варинты с помощью Recursive CTE вместо connect by. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:33 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
КобанчегСергей_1991я уже неделю бьюсь над решением этой задачи и пока без успешно. А руководство требует решений, по этому и прошу о помощиТы просил идею или алгоритм. Это можно было предоставить тебе в словесной форме. Вместо этого был предоставлен конкретный код, работающий на 12c+. И даже тут ты не в состянии сделать минимальное изменение. Вместо хаотических маразматических изменений общего запроса подумай как можно переписать запрос ниже без cross apply. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Можно даже не думать, а воспользоваться поиском по форуму. Поверьте, как распарсить строки я написал еще в первый день как получил задачу. У меня проблему составило перемножить и получить наборы. У меня не было идее как выбирать данные из набор и брать только одно значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:34 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991мне приходит ексель с набором полей Раз тебе приходит эксель, так парсь эти наборы средствами экселя и не морщь моск оракулу, которые для этого не предназначен. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:35 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСергей_1991мне приходит ексель с набором полей Раз тебе приходит эксель, так парсь эти наборы средствами экселя и не морщь моск оракулу, которые для этого не предназначен. Ексель может быть большой. И если начинать парсить в нем , может просто все зависнуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:38 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991если начинать парсить в нем , может просто все зависнуть. А может и не зависнуть. Всё дело в волшебных пузырьках руках программиста. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:44 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Сергей_1991Поверьте, как распарсить строки я написал еще в первый день как получил задачу.Если б ты понимал, то не показывал бы то уродство с cross join. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 12:44 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 13:46 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
если "влоб" переписать запрос Кобанчег`а наверно получится так Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 13:49 |
|
Создание наборов с помощью запроса
|
|||
---|---|---|---|
#18+
Кобанчег, спасибо за помощь, все получилось! Очень помог Ваш вариант решения, чтобы разобраться в логике как перемножать! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2019, 15:12 |
|
|
start [/forum/search_topic.php?author=%D0%9D%D0%B8+%D1%84%D0%B8%D0%B3%D0%B0.&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 692ms |
total: | 865ms |
0 / 0 |