DB2 SQL-内部联接获取最后一行

时间:2018-09-06 17:31:27

标签: sql ibm-midrange db2-400 rpgle

我正在尝试从表@POA中获取最后一条记录,该记录具有与表HPOL07中相同的PO#和行号。 @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;   

2 个答案:

答案 0 :(得分:0)

不会发誓在DB2 400上可以使用,但我认为可以。

SimpleLocation location = new SimpleLocation(this); //or context instead of this
double latitude = location.getLatitude();
double longitude = location.getLongitude();

答案 1 :(得分:0)

此查询可用于从HPOL07获取所有记录并与@POA中的一条记录匹配

SELECT HPOL07.*, @POA.*
FROM HPOL07

CROSS JOIN LATERAL (
SELECT @POA.*
FROM @POA
WHERE PORD = @POA.POAPON  AND PLINE = @POA.POALNO
ORDER BY @POA.<SEQUENCE NUMBER> DESC
FETCH FIRST 1 ROWS ONLY
) @POA 

WHERE PORD = :NBR AND PID <> 'PZ'