1

我使用下面的 sql 来加入 DRAT & DRAP。

SELECT * INTO CORRESPONDING FIELDS OF WA_DOC_LOG
FROM DRAP
INNER JOIN DRAT ON DRAP~DOKNR = DRAT~DOKNR
AND DRAP~DOKAR = DRAT~DOKAR
WHERE DRAP~DOKNR IN S_DOKNR
AND DRAP~DOKAR IN S_DOKAR
AND DRAP~DOKST IN S_DOKST
AND DRAP~DATUM IN S_DATUM.

但是当我显示时,我只想显示版本号最高的记录(DRAP~DOKVR)。有哪些可能的方法来消除版本较低的记录?

4

2 回答 2

0

我可能会将其卸载到应用程序服务器

SORT documents BY dokar doknr dokvr DESCENDING. " careful with doktl!
DELETE ADJACENT DUPLICATES FROM documents COMPARING dokar doknr. 

使用 SQL 来实现这一点可能是可能的,但我会非常小心,因为除非做得正确,否则这可能会变得相当昂贵。

于 2016-02-23T13:14:43.590 回答
0

试试这个 SELECT 语句:

SELECT * 
  INTO CORRESPONDING FIELDS OF TABLE WA_DOC_LOG
  FROM DRAP AS d
 INNER JOIN DRAT AS t
    ON d~DOKNR = t~DOKNR
   AND d~DOKAR = t~DOKAR
 WHERE d~dokvr = ( SELECT max( dokvr ) FROM drap ).

虽然,它不是很有效,但功能还可以。您应该自己考虑具体系统的性能。

于 2016-04-01T10:54:31.630 回答