У меня есть запрос, как показано ниже. Существует (-
) operator = (AA.SOURCE_CREDIT - BB.SOURCE_DEBIT/1.1)
. Я хочу группировать BR.AREA_ID. Просто BR.AREA_ID. Но он дал мне ошибку:группа с (-) оператором в запросе оракула
ORA-00979: not a GROUP BY expression
И я должен добавить AA.SOURCE_CREDIT и BB.SOURCE_DEBIT в группе. Но результат становится не тем, что я хочу. Просто AREA_ID, который я хочу.
SELECT 'SALES EU' AS DESCRIPTION,
(AA.SOURCE_CREDIT - BB.SOURCE_DEBIT/1.1) AS amount,
BR.AREA_ID
FROM VI_REPORT_BK_PENJUALAN BK
JOIN
MST_BRANCH BR
ON BR.BRANCH_ID = BK.BRANCH_ID
LEFT OUTER JOIN
(SELECT JH.JOURNAL_NO, JD.SOURCE_CREDIT
FROM TRX_JOURNAL_GL_HEADER JH
JOIN
TRX_JOURNAL_GL_DETAIL JD
ON JH.JOURNAL_NO = jd.JOURNAL_NO
JOIN
TRX_DELIVERY_CONFIRMATION DC
ON DC.DELIVERY_NO = JH.DOCUMENT_NO
WHERE JD.SOURCE_TYPE = '40100000') AA
ON (AA.JOURNAL_NO = BK.JOURNAL_NO)
LEFT OUTER JOIN
(SELECT JH.JOURNAL_NO, JD.SOURCE_DEBIT
FROM TRX_JOURNAL_GL_HEADER JH
JOIN
TRX_JOURNAL_GL_DETAIL JD
ON JH.JOURNAL_NO = jd.JOURNAL_NO
JOIN
TRX_DELIVERY_CONFIRMATION DC
ON DC.DELIVERY_NO = JH.DOCUMENT_NO
WHERE JD.SOURCE_TYPE = '40502002') BB
ON (BB.JOURNAL_NO = BK.JOURNAL_NO)
GROUP BY BR.AREA_ID, AA.SOURCE_CREDIT, BB.SOURCE_DEBIT
Я уже пытаюсь сделать группу внутри суб-запроса. Но все равно не работает. Я просматриваю также в google, но я не нашел случай, как мой случай.
Общее правило GROUP BY гласит: если указано предложение GROUP BY, каждая ссылка столбца в списке SELECT должна либо идентифицировать столбец группировки, либо быть аргументом функции набора! – jarlh
, так что я должен использовать в своем случае? или дать мне какое-либо представление о ключевом слове, чтобы узнать о моем случае, чтобы изучить его. Большое вам спасибо –
Если у BR.AREA_ID есть несколько (разных) значений AA.SOURCE_CREDIT, BB.SOURCE_DEBIT после JOIN, что вы хотите с ними делать? Показать все или суммировать их? – jarlh