|
Групповые функции Oracle
|
|||
---|---|---|---|
#18+
Помогите, пожалуйста, с задачкой. Вообщем-то, я ее решила, но не так как требует условие(пробовала решить с использованием rollap,cube,grouping sets,но все равно не получается..) Задача: Напишите одним запросом без использования операторов Union, который для «tab1» посчитает суммы по полям «a1» и «a2», в группировке по полям «TXT», «CODE», при этом для поля «TXT» требуется рассчитать только итоговые значения суммы «a1», а для поля «CODE» требуется рассчитать только итоговые значения суммы «a2», общий итог по группам не требуется. Результат должен быть похож на: TEXT SUM_A1 SUM_A2 ----------------- ---------- ---------- Txt1 – 0 2 1 Txt2 – 0 4 4 Txt1 – 1 1 2 Txt2 – 1 5 3 Txt1 – 2 3 7 Txt2 – 2 6 1 Итог code: 0 0 5 Итог code: 1 0 5 Итог code: 2 0 8 Итог txt: Txt1 6 0 Итог txt: Txt2 15 0 TABLE tab1 Name Type ------ ------------ ID NUMBER TXT CHAR(3) CODE NUMBER(3) A1 NUMBER A2 NUMBER Мое решение с использованием union: SELECT TXT,CODE, SUM(A1) as sum_a1,SUM(A2) as sum_a2 FROM FNI_TAB1 GROUP BY TXT, CODE union ALL SELECT TXT,NULL,SUM(A1) as sum_a1,NULL FROM FNI_TAB1 GROUP BY TXT union ALL SELECT NULL,CODE,NULL,SUM(A2) as sum_a2 FROM FNI_TAB1 GROUP BY CODE; Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 17:19 |
|
Групповые функции Oracle
|
|||
---|---|---|---|
#18+
Natali_ya20, Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 18:02 |
|
Групповые функции Oracle
|
|||
---|---|---|---|
#18+
Natali_ya20, Или если хочется странного, можно так: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 18:54 |
|
Групповые функции Oracle
|
|||
---|---|---|---|
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 23:07 |
|
|
start [/forum/topic.php?fid=52&fpage=50&tid=1881433]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 432ms |
0 / 0 |