|
|
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАпредпочитала подготовить полуфабрикат --итоги по цех,участок,профессия,месяц, наименование итога, сумма во временную таблицу РАБ1 ну, это по задаче где-то надо, где-то и не нужно, где-то вообще не имеет смысла, а где-то через WITH ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 22:13 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
Еще вариант. Как-то так получилось. Правда на больших обьемах данных не тестировал Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. функция xx_sql.query возвращает результат первой колонки первой строки указанного запроса. можно заменить на что попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2012, 12:20 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
chameleon82Еще вариант. Как-то так получилось. Правда на больших обьемах данных не тестировал Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. функция xx_sql.query возвращает результат первой колонки первой строки указанного запроса. можно заменить на что попроще.Не совсем понятна затея строить всё из всех, чтоб потом тупо схлопнуть, но в своей функции здесь нет особой необходимости. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 13:42 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 13:49 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
как минимум надо не забывать, что макс длина результата sys_connect_by_path = 4000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 14:09 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
Чуть выше ошибочка была. Для Oracle >= 11.2.0.2, правда с ограничением andreymxкак минимум надо не забывать, что макс длина результата sys_connect_by_path = 4000 возможен такой код Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. и опять же на 11-ом, но уже цивилизованный обход Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 11:43 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
chameleon82, все тут хорошо, до тех пор, пока не появляются родители, у которых есть свои суммы, которые надо приплюсовать к дочерним ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 09:01 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
sim_tomchameleon82, все тут хорошо, до тех пор, пока не появляются родители, у которых есть свои суммы, которые надо приплюсовать к дочерним вас затрудняет сложить два числа ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 12:41 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
sim_tom, авторвсе тут хорошо, до тех пор, пока не появляются родители, у которых есть свои суммы, которые надо приплюсовать к дочерним только бы это --ерунда хуже, когда есть еще и в том числе статьясуммапо заводу100т--по цехам 60-----в том числе основным20--по соцсфере40 по цехам всего\ по основным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 15:02 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКА, а тут что сложного? делаете "в том числе" и "не в том числе", в конечном выводе скрываете "не в том числе". тут все в настройках иерархии, либо на ноде вообще дочерние не складывать, либо расчитывать все дочерние суммы и не расчитывать или игнорировать расчет на конкретном ноде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 07:27 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
chameleon82и опять же на 11-ом, но уже цивилизованный обход Код: 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. Очень заинтересовал пример с рекурсией, но в случае ненулевых значений у рождителей - они задваиваются в общей сумме: Код: 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. Для простоты проверки положил s=1 для всех узлов? Пролучаю для узла 2 сумму "8" а не "4": Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Никак сам не могу побороть - это вообще реально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2015, 10:31 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
StayAtHomeНикак сам не могу побороть - это вообще реально?Потому что нужно поменьше ненужной фантазии, когда можно тупо в лоб Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2015, 11:23 |
|
||
|
Агрегация сумм в иерархических запросах
|
|||
|---|---|---|---|
|
#18+
У кого есть в наличии 12.2 можете попробовать выполнить с закоментированным правилом вместо активного Код: 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. С all rows вместо one row все ок, но все строки для каждого матча здесь не нужны. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 03:20 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39462772&tid=1885841]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 480ms |

| 0 / 0 |
