Я упростили мой запрос, так что теперь он выглядит, как показано ниже:Как реализовать группу без разрушения данных
SELECT allaccounts.*, groups.TOTALGROUPAMOUNT
FROM
(**SELECT FROM DUMMYTABLE WHERE...**) allaccounts,
(SELECT groupID, SUM(memberAmount) totalGroupAmount FROM(**SELECT FROM DUMMYTABLE WHERE...**) group by groupID) groups
WHERE allaccounts.groupID = groups.groupID
Где SELECT FROM DUMMYTABLE WHERE ... выглядит как:
GROUP|ACCOUNT|BALANCE
A |101 |1000
A |102 |2000
A |103 |3000
B |104 |4000
B |105 |5000
C |106 |6000
И с запросом выше я ожидающей ниже результат:
GROUP|ACCOUNT|BALANCE|TOTALGROUPAMOUNT
A |101 |1000 |6000
A |102 |2000 |6000
A |103 |3000 |6000
B |104 |4000 |9000
B |105 |5000 |9000
C |106 |6000 |6000
Так что мой вопрос можно ли сделать группировку не используя "ВЫБЕРИТЕ ИЗ ДАММИТИРОВАННОГО ГДЕ ... «дважды?
Спасибо за ваши ответы и советы заранее!
Что вы после этого являются аналитическими функциями [] (http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions004.htm#SQLRF06174). Очень полезный и мощный, если он используется в правильном контексте! – Boneist