当前位置:数据库 > SQLServer >>

mssql的sql语句转成oracle版的sql语句

String sqlc="select TOP "+pageSize+" c.requestid,c.id from (select ROW_NUMBER() OVER (ORDER BY b.requestid) AS RowNumber,b.* from ufy8u0r71323765286250 a join ufj6t3x81323765312984 b on a.requestid=b.requestid where a.requestid in (select id from workflowbase where isdelete=0 and isfinished=1) and a.requestid in (select id from workflowbase where isdelete=0 and isfinished=1)";
追问:select TOP "+pageSize+" c.requestid,c.id from (select ROW_NUMBER() OVER (ORDER BY b.requestid) AS RowNumber,b.* from ufy8u0r71323765286250 a join ufj6t3x81323765312984 b on a.requestid=b.requestid where a.requestid in (select id from workflowbase where isdelete=0 and isfinished=1)  ) c WHERE c.RowNumber > "+pageSize*(pageNo-1)+" group by c.requestid,c.id order by c.requestid
答案:大概是这样,我没有看到你的c是什么,哪儿有ID ?

String sqlc="SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (
select a.requestid
from ufy8u0r71323765286250 a 
join ufj6t3x81323765312984 b on a.requestid=b.requestid 
where a.requestid in (select id from workflowbase where isdelete=0 and isfinished=1)
   and a.requestid in (select id from workflowbase where isdelete=0 and isfinished=1)
) A WHERE ROWNUM <= "+pageSize+" ) WHERE RN >= 1";
其他:把top去掉,在where后面添加 limit ((当前页的页码-1)*pageSize-1),pageSize 

上一个:mssql 表,有250万个记录,10万条分一页,求分页查询语句。(注意没有自增长的id。)
下一个:mssql 分组查询

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,