如何显示更大金额的价值

时间:2016-08-22 06:53:44

标签: sql oracle greatest-n-per-group

我想显示更大量的Posting键(我使用MAX命令得到它)。

在我附加的图像上,我需要将具有相同值的记录分组,同时将较高的金额减去较小的金额,但这里的冲突是我需要显示更高金额的invoice_key。

POSTING_KEY

SELECT  PUBLICATION_CODE,
    RS_GL_ACCT_NO,
    ASSIGNMENT,
    TEXT,
    RRAC_TYPE,
    MAX(INV_TAX_AMT)-MIN(INV_TAX_AMT) AS INV_TAX_AMT,
    RS_AMOUNT,
    POSTING_KEY
FROM SAP_TABLE
GROUP BY PUBLICATION_CODE,
     RS_GL_ACCT_NO,
     ASSIGNMENT,
     TEXT,
     RRAC_TYPE,
     RS_AMOUNT,
     POSTING_KEY;

1 个答案:

答案 0 :(得分:1)

尝试一下:

select
    a.PUBLICATION_CODE,
    a.RS_GL_ACCT_NO,
    a.TEXT,
    a.RRAC_TYPE,
    a.INV_TAX_AMT-b.INV_TAX_AMT AS INV_TAX_AMT,
    a.RS_AMOUNT,
    c.POSTING_KEY
from sap_Table a
join sap_Table b on (a.RS_GL_ACCT_NO = b.RS_GL_ACCT_NO and b.INV_TAX_AMT < a.INV_TAX_AMT)
join (select RS_GL_ACCT_NO, max(posting_key) as posting_key from sap_Table) c on (a.RS_GL_ACCT_NO = b.RS_GL_ACCT_NO)

让我知道是否有任何失败:)