|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
Всем добрый день! Помогите, пожалуйста, составить запрос. Есть таблица (TBL) с колонками: FIO; DEPARTMENT; CATEGORY; SALARY; SUMM_LINE Я формирую временную таблицу (TBL_REPORT) на основе TBL, из которой построчно будут выводиться данные в отчет. Требуемая сортировка: сортируем данные по DEPARTMENT, потом по CATEGORY. Как составить запрос, чтобы он делал инсерт суммы по DEPARTMENT и по CATEGORY? Т.е. желаемый результат такой должен быть как на картинке. Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 11:14 |
|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
123йй, за наводку спасибо, а ошибку что-то впритык не вижу( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 11:50 |
|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
ak1906, убрать или добавить САТ* ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 12:00 |
|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
123йй если CATх одна строка то "всего по CATх" не выводим ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 13:06 |
|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
ak1906, Код: 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.
ename уникально, иначе empno/rowid и тд ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 13:56 |
|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
Stax, как раз то, что надо! Большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 14:12 |
|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
Stax, немного запоздалый вопрос, но все же спрошу. Как переделать этот запрос так, чтобы строки с подитогами формировались над соответствующей группой, а не под? Я, конечно, выкрутился, всяческими доп. insert-aми, но это совершенно некрасиво выходит. А хотелось бы сразу в одном запросе все соединить. Есть ли у Вас какой-нибудь общий шаблон, как можно масштабировать данный запрос, если, к примеру, будет не две колонки для группировки, а больше? И не могли бы Вы пояснить, хотя бы кратко, что значат цифры в конце кода: Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 16:44 |
|
Запрос с двойной группировкой
|
|||
---|---|---|---|
#18+
ak1906 Stax, немного запоздалый вопрос, но все же спрошу. Как переделать этот запрос так, чтобы строки с подитогами формировались над соответствующей группой, а не под? Я, конечно, выкрутился, всяческими доп. insert-aми, но это совершенно некрасиво выходит. А хотелось бы сразу в одном запросе все соединить. Есть ли у Вас какой-нибудь общий шаблон, как можно масштабировать данный запрос, если, к примеру, будет не две колонки для группировки, а больше? И не могли бы Вы пояснить, хотя бы кратко, что значат цифры в конце кода: Код: plsql 1.
запоздалый ответ 1) добавте в вывод grouping_id(ename,deptno,job) gr, count(*) cc ... закоментируйте having и все поймете 2) про сортировку добавте order by и с его помощью добейтесь нужного порядка вывода в order by используйте поля, grouping_id, GROUP_ID, GROUPING (ASC/DESC) чтоб понятней было для "отладки" добавте поля/ф-ции в вывод селекта ...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 13:01 |
|
|
start [/forum/topic.php?fid=52&msg=40016459&tid=1880292]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
135ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 550ms |
0 / 0 |