|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
Приветствую всех! Подскажите, пожалуйста, варианты решения вот такой задачки: Есть таблиц, состоящая из двух столбцов ID и CodeList. Id – идентификатор объекта, CodeList – список, в котором через запятую перечислены коды(буквы). Суть задачи – для каждого идентификатора нужно разобрать его список на отдельные коды и вывести в виде таблицы. Пример: 1 – A,B,C 2 – X,Y На выходе должны получить: Результат:1 A 1 B 1 C 2 X 2 Y Моя идея была такова: 1) Разберем строку кода с помощью конструкции: Код: plsql 1. 2.
Разбор строки возвращает нам результирующий набор из N строк, где N – это количество кодов в списке. Далее хотелось бы соединить первую запись из таблицы со своим результатом разбора. Что-то типа этого. Если б можно было по очереди передавать значение первой записи из таблицы во второй inline view, чтобы оно выполнилось, результат перемножился бы с первой таблицей и .д. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Но в таком варианте не работает, конечно. Товарищи , какие вариантны можете подсказать для решение данной задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 21:09 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
Изучить 3 формы нормализации данных для начала. Вот смешно и все же. Работаю с учетной системой довольно большой и уважаемой конторы. Там так айдишники ссылочной сущности через запятую в стоковом поле и хранятся. Какие там запросы "летят" на сервер можете догадаться. Складывается общее впечатление, что "архитекторы" и не подозревали о правилах разраборки реляционных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 21:27 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
Landgraf не работает, конечно. Ну отчего же не работает... Код: 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.
А так вариантов много. Простейший - иерархический запрос прямо над исходным набором. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 21:32 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
andrey_anonymous Landgraf не работает, конечно. А так вариантов много. Простейший - иерархический запрос прямо над исходным набором. ТОЧНО!!!! Ведь понмнил, что была какая-то конструкция!!! andrey_anonymous +1 в карму! Иерархические запроссы вещь мощная, но не постиг до конца! Какие условие соединения/ограничения нужно добававить, чтобы через иерархический запрос решить: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 21:43 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
Landgraf Какие условие соединения/ограничения нужно добававить, чтобы через иерархический запрос решить: Да обычные... Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 22:50 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#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. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2020, 23:27 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
Landgraf andrey_anonymous +1 в карму! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 06:51 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
Relic Hunter Изучить 3 формы нормализации данных для начала. Шо это такое? Это нам не нужно, нам нужны крутые рекурсивные запросы в 5 этажей и крутые спецы, которые умеют их писать. А нормализация, она зачем? В оракле есть connect by, значит можно писать id через запятую, есть pivot, значит можно делать везде eav. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 06:57 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
Вот, еще вот такможно: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 14:29 |
|
Подскажите вариант решения задачки
|
|||
---|---|---|---|
#18+
andrey_anonymous Landgraf Какие условие соединения/ограничения нужно добававить, чтобы через иерархический запрос решить: Да обычные... Код: 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.
andrey_anonymous , а не подскажите для чего здесь вот это условие, что оно делает? Не могу никак понять Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 15:25 |
|
|
start [/forum/topic.php?fid=52&msg=39989875&tid=1880973]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 161ms |
0 / 0 |