我有一个查询似乎工作正常,但我想知道是否有更干净(或更合适)的方法来编写它。
目标是在表 ZVBAPIUSW01 中查找基于给定用户 ID 的日期 (UPDPASS) 和时间 (UPDPASSTIME) 最大的记录。
这是我到目前为止得到的:
SELECT SINGLE * FROM ZVBAPIUSW01
WHERE OBJID = ID
AND UPDPASS IN (
SELECT MAX( UPDPASS ) FROM ZVBAPIUSW01 WHERE OBJID = ID )
AND UPDPASSTIME IN (
SELECT MAX( UPDPASSTIME ) FROM ZVBAPIUSW01 WHERE OBJID = ID AND UPDPASS IN (
SELECT MAX( UPDPASS ) FROM ZVBAPIUSW01 WHERE OBJID = ID ) ).
感谢您的帮助。话筒
你可以
试试
SELECT foo bar baz
FROM ZVBAPIUSW01 UP TO 1 ROWS
INTO (l_foo, l_bar, l_baz)
WHERE OBJID = ID
ORDER BY updpass DESCENDING updpasstime DESCENDING.
不要使用 Select
* 而使用 Select (必填列表)