Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何连接到OpenEdge SQL中的第一行?_Sql_Openedge - Fatal编程技术网

如何连接到OpenEdge SQL中的第一行?

如何连接到OpenEdge SQL中的第一行?,sql,openedge,Sql,Openedge,连接到SQL中的第一行应该和简单地连接到内部select一样简单 select so_nbr, sod_line last_line from so_mstr join sod_det on sod_det.rowid = (select top 1 sod_det.rowid from sod_det where sod_nbr = so_n

连接到SQL中的第一行应该和简单地连接到内部select一样简单

select so_nbr, sod_line last_line
  from so_mstr
  join sod_det on sod_det.rowid = (select top 1 sod_det.rowid
                                     from sod_det
                                    where sod_nbr = so_nbr
                                    order by sod_line desc) x
 where so_ord_date > curdate() - 60
不幸的是,我得到了:
错误代码-20302,SQL状态HY000:[DataDirect][OpenEdge JDBC Driver][OpenEdge]TOP子句在不支持的上下文中使用。(13694)

注意,我被困在OE10.1C上,无法升级。

根据:

OpenEdge 11.2增加了对 要执行SQL
操作,请选择
查询;低于11.2的OpenEdge版本不适用 支持
偏移量
/
提取

从 “SQL参考”文档:

The OFFSET clause specifies the number of rows to skip, before starting to return rows
from the query expression. The FETCH clause specifies the number of rows to return,
after processing the OFFSET clause.
值得注意的是,
TOP
OFFSET
/
FETCH
子句是 互斥的
-
TOP
不能用于使用
偏移量
取数

试试这个

  SELECT so_nbr,sod_line As last_line
  FROM so_mstr
       JOIN sod_det ON sod_det.rowid = (SELECT sod_det.rowid 
                                        FROM sod_det WHERE sod_nbr = so_nbr
                                        ORDER BY sod_line Desc 
                                        FETCH FIRST 1 ROWS ONLY) x
  WHERE so_ord_date > curdate() - 60

不幸的是,我们使用的是10.1C,没有机会升级。有没有办法在OpenEdge的早期版本上实现这一点?