【发布时间】:2016-11-30 08:54:54
【问题描述】:
我在下面有一个这样的查询。有 (-) 运算符 = (AA.SOURCE_CREDIT - BB.SOURCE_DEBIT / 1.1)。我想按 BR.AREA_ID 分组。只需 BR.AREA_ID。但它给了我错误:
ORA-00979: 不是 GROUP BY 表达式
我必须在 group by 中添加 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 列表中的每个列引用必须要么标识一个分组列,要么是一个集合函数的参数!
-
那么在我的情况下我必须使用什么?或者给我任何关键字的想法来找到我的案例来探索它。非常感谢
-
如果一个 BR.AREA_ID 在 JOIN 之后有几个(不同的)AA.SOURCE_CREDIT、BB.SOURCE_DEBIT 值,你想用它们做什么?全部显示,还是求和?
-
非常感谢您的回复。我已经在下面找到了我需要的答案.. :D