|
Фрактальный RCTE
|
|||
---|---|---|---|
#18+
Пытаюсь рекурсивно сгенерить фрактал 0-1 0-.5, 0.5-1 0-.25, .25-.5, .5-.75, .75-1 И т.д. Каждый уровень делит предыдущие отрезки пополам, удваивая их число. Код: plsql 1. 2. 3. 4. 5.
Такой код недозволен ораклом, т.к в рекурсивных cte можно только один union all. Я могу решить, сделав джойн с таблицей из двух строк, но это выглядит коряво. Есть какие-то другие решения, для размножения строк внутри RCTE? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2020, 23:30 |
|
Фрактальный RCTE
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Собственно, громоздкая вторая строчка с decode, которую я хочу избежать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2020, 00:48 |
|
Фрактальный RCTE
|
|||
---|---|---|---|
#18+
Оказывается, в ms SQL можно писать RCTE с несколькими union all.. Оракл, почему ограничение? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2020, 14:52 |
|
Фрактальный RCTE
|
|||
---|---|---|---|
#18+
вот это? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
А "почему ограничение" - лучше на asktom спрашивать... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2020, 15:08 |
|
Фрактальный RCTE
|
|||
---|---|---|---|
#18+
booby вот это? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Да, оно, с ортоджойном. Сравниваю со своей версией выше, появились вопросы: decode vs case: я предполагал что в этом случае decode предпочтительнее, т.к. оптимизирован для сравнения констант. Есть ли смысл заменять его на case, или это дело привычки? round((tf.n_left +tf.n_right)/2,38) необычная конструкция, на первый взгляд ничего не дающая, на второй взгляд ухудшающая точность. Есть ли смысл в этой конструкции, о котором я не знаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2020, 20:35 |
|
Фрактальный RCTE
|
|||
---|---|---|---|
#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.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2020, 01:07 |
|
Фрактальный RCTE
|
|||
---|---|---|---|
#18+
SY, спасибо. Я понял про арифметику, условный оператор decode был для более общего случая, тут действительно можно обойтись без условных операторов. Из всех ответов я понял, что для Оракла в таких случаях принято размножать вторую и неповторимую строчку RCTE через кросс-джойн с вспомогательной таблицей. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2020, 01:34 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1880680]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 302ms |
total: | 543ms |
0 / 0 |