|
|
|
Хитрая группировка с итогами или что-то другое?
|
|||
|---|---|---|---|
|
#18+
Доброго дня! Столкнулся со следующей задачей: вывести данные для одной Организации с одним Филиалом, с несколькими Отделениями в филиале, в каждом отделении может быть несколько Участков, каждый участок может продавать несколько разных Товаров, проданное количество которых известно. Набросал такую структуру данных, чтобы было понятнее: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Проблема в том, что не получается вывести данные в таком виде: Верхний участокитогорога11Верхний участокитогокопыта11 Верхний участок итого все 22 Нижний участокитогорога15Нижний участокитогокопыта15 Нижний участок итого все 30 Северное отделениеитогорога26Северное отделениеитогокопыта26 Северное отделение итого все 52 Восточный участокитогорога3Восточный участокитогокопыта3 Восточный участок итого все 6 Западный участокитогорога7Западный участокитогокопыта7 Западный участок итого все 14 Южное отделениеитогорога10Южное отделениеитогокопыта10 Южное отделение итого все 20 Первый филиалитогорога36Первый филиалитогокопыта36 Первый филиал итого все 72 Рога и копытаитогорога36Рога и копытаитогокопыта36 Рога и копыта итого все 72 Сначала кинулся делать это группировкой с итогами (grouping() rollup()), но застрял в самом начале - на группировке по участкам. Вообще "куда копать" есть идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 13:15:39 |
|
||
|
Хитрая группировка с итогами или что-то другое?
|
|||
|---|---|---|---|
|
#18+
chikaginskкуда копатьgrouping sets ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 13:47:47 |
|
||
|
Хитрая группировка с итогами или что-то другое?
|
|||
|---|---|---|---|
|
#18+
Elic, Благодарю за подсказку, надеюсь это то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2016, 13:59:46 |
|
||
|
Хитрая группировка с итогами или что-то другое?
|
|||
|---|---|---|---|
|
#18+
Прошу помощи. По наводке уважаемого Elic пытаюсь решить задачу вывода данных в необходимом виде с помощью grouping sets. Вывод участков и отделений победил: Код: 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. Но правильно вывести в разрезе филиала и организации никак не получается. Как только не пытался - выводит неправильно. Никак не пойму в чём проблема. Перед уже введёнными группами в grouping sets из кода выше добавляю группы для fil и org. В сортировке написал: Код: plsql 1. Сортирует верно, но с группировкой проблемы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 12:00:02 |
|
||
|
Хитрая группировка с итогами или что-то другое?
|
|||
|---|---|---|---|
|
#18+
Немного разобравшись с grouping sets понял, что rollup() в моей задаче не нужен, а нужно использовать группы. Сгруппировал вроде верно, все записи выводятся, но теперь проблема с сортировкой - по организации и филиалу отсортировал, но дальше как ни бьюсь, не получается получить требуемый результат. Помогите пожалуйста. Код: 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. Может сгруппировано неправильно. В чём может быть проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2016, 13:42:15 |
|
||
|
Хитрая группировка с итогами или что-то другое?
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2016, 14:34:50 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39294939&tid=1887634]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 449ms |

| 0 / 0 |
