簡體   English   中英

在Oracle查詢中使用(-)運算符進行分組

[英]group by with (-) operator in oracle query

我在下面有這樣的查詢。 有( - )運算符= (AA.SOURCE_CREDIT - BB.SOURCE_DEBIT / 1.1) 我想按BR.AREA_ID分組。 只是BR.AREA_ID。 但這給了我錯誤:

ORA-00979:不是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

我已經嘗試在subs-query中進行分組。 但仍然無法正常工作。 我也在google中瀏覽,但沒有找到類似我的案例的案例。

如果行多於每一行,您希望查詢返回什么? 例:

AREA_ID | AA.SOURCE_CREDIT | BB.SOURCE_DEBIT
   1    |      100         |       50
   1    |       70         |       50

您確定每個區域ID只有一行,因此您可以使用SUM,MAX,AVG或其他任何內容。

SELECT   'SALES EU' AS DESCRIPTION,
           (MAX(AA.SOURCE_CREDIT) - MAX(BB.SOURCE_DEBIT) / 1.1) AS amount,
           BR.AREA_ID
...

如果可能會有更多結果,您應該決定哪種聚合功能最合適。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM