다음과 같은 쿼리가 있습니다. (-
) 연산자 = (AA.SOURCE_CREDIT - BB.SOURCE_DEBIT/1.1)
이 있습니다. BR.AREA_ID별로 그룹화하고 싶습니다. 그냥 BR.AREA_ID. 그러나 그것은 나에게 오류 준 :oracle 쿼리에서 (-) 연산자로 그룹화
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
이미 하위 쿼리로 그룹을 만들려고합니다. 그러나 여전히 작동하지 않습니다. 나도 구글에서 브라우징하고 있지만 내 사건과 같은 사건을 찾지 못했다.
일반적인 GROUP BY 규칙은 다음과 같이 말합니다. GROUP BY 절이 지정된 경우 SELECT 목록의 각 열 참조는 그룹화 열을 식별하거나 집합 함수의 인수 여야합니다! – jarlh
내 경우에 내가 사용해야하는 것은 무엇입니까? 또는 내 사건에 대해 찾아보기 위해 키워드에 대한 아이디어를 알려주십시오. 고마워요. –
BR.AREA_ID에 JOIN 다음에 AA.SOURCE_CREDIT, BB.SOURCE_DEBIT 값이 여러 개있는 경우 어떻게해야할까요? 모두 표시하거나 합계 할 수 있습니까? – jarlh