首页 > 解决方案 > DB2 SQL - 内部联接获取最后一行

问题描述

我试图从表@POA 中获取最后一条记录,在表 HPOL07 中具有相同的 PO # 和 Line #。@POA 中的记录有一个序列号。所以我试图获取最后一个序列号的记录。我不知道该怎么做?

EXEC SQL Declare RSCURSOR cursor for
SELECT HPOL07.*, @POA.*
FROM HPOL07
INNER JOIN @POA ON PORD = @POA.POAPON  AND PLINE = @POA.POALNO
WHERE PORD = :NBR AND PID <> 'PZ';

EXEC SQL  Open RSCURSOR;

EXEC SQL SET RESULT SETS Cursor RSCURSOR;   

标签: sqlibm-midrangedb2-400rpgle

解决方案


不会发誓这适用于 DB2 400,但我认为它会。

    SELECT HPOL07.*, @POA.*
    FROM HPOL07
    INNER JOIN @POA ON PORD = @POA.POAPON  AND PLINE = @POA.POALNO
    WHERE PORD = :NBR AND PID <> 'PZ'
    ORDER BY @POA.<SEQUENCE NUMBER> DESC
FETCH FIRST 1 ROWS ONLY

推荐阅读