Oracle分页SQL转DB2下可运行的分页SQL

我现在有一个Oracle的分页SQL语句,现在因为项目需要改成DB2的分页SQLOracle SQL如下:SELECT RRRRR_. *FROM (SELECT ROW_. *          , ROWNUM ROWNUM_      FROM (SELECT t. *         ...显示全部

我现在有一个Oracle的分页SQL语句,现在因为项目需要改成DB2的分页SQL

Oracle SQL如下:

SELECT RRRRR_. *

FROM (SELECT ROW_. *

          , ROWNUM ROWNUM_

      FROM (SELECT t. *

                , (SELECT className

                   FROM sys_datadictclass

                   WHERE classid = t.classid) className

            FROM sys_datadict t

            WHERE 1 = 1 AND t.classid = '1436512514394305'

            ORDER BY classId ASC) ROW_

      WHERE ROWNUM <= 20) RRRRR_

真心不会,我改了好多次都没成功,还望各位大哥帮忙,小弟在此万分感谢!

收起
参与6

返回masaly的回答

masalymasaly其它易诚

select * from (select t.*,(select className from sys_datadictclass where classid = t.classid) className,row_number() over() as rn from sys_datadict t where 1 = 1 and t.classid = \'1436512514394305\') where rn > 0 fetch first 20 rows only optimize for 20 rows

软件开发 · 2015-10-29
浏览625
  • 你这个SQL在DB2下面运行不了报错,错误如下: SQL0104N 在 "classid = t.classid)" 后面找到异常标记 "className,row_number"。预期标记可能包括:","。 SQLSTATE=42601
    2015-10-30
  • 可以运行了,那个逗号有问题,改成英文的符号就好了,谢谢你啊!
    2015-10-30

回答者

masaly 最近回答过的问题

回答状态

  • 发布时间:2015-10-29
  • 关注会员:3 人
  • 回答浏览:625
  • X社区推广