mysql数据库 sql语句转换成 oracle语句
selectdp.*,db.*fromd_category_productdcpjoind_productdpon(dcp.product_id=dp.id)joind_...
select dp.*,db.* from d_category_product dcp join d_product dp on (dcp.product_id=dp.id) join d_book db on (dp.id=db.id) where dcp.cat_id=? limit ?,? 求高手帮忙转成oracle 的,小弟不懂mysql
展开
2个回答
展开全部
首先要理解limit 是干嘛的?这个是MySQL里面的分页查询要用到的关键字,limit m,n
m是指记录开始的index,从0开始,表示第一条记录;n是指从第m+1条开始,取n条。
limit 2,4 即取出第3条至第6条,4条记录 。
而Oracle里面用到的分页查询关键字是rownum特性。
所以你的这个sql语句可以改为
select * from (select dp.*,db.*,rownum rn from d_category_product dcp join d_product dp on (dcp.product_id=dp.id) join d_book db on (dp.id=db.id) where dcp.cat_id=? and rn >?)
where rn <? ;
希望对你有用!
m是指记录开始的index,从0开始,表示第一条记录;n是指从第m+1条开始,取n条。
limit 2,4 即取出第3条至第6条,4条记录 。
而Oracle里面用到的分页查询关键字是rownum特性。
所以你的这个sql语句可以改为
select * from (select dp.*,db.*,rownum rn from d_category_product dcp join d_product dp on (dcp.product_id=dp.id) join d_book db on (dp.id=db.id) where dcp.cat_id=? and rn >?)
where rn <? ;
希望对你有用!
展开全部
大概意思:
select a.*
from (
select dp.*,db.*
from d_category_product dcp
inner join d_product dp on (dcp.product_id=dp.id)
inner join d_book db on (dp.id=db.id)
where dcp.cat_id=?
) a
where rownum <= ? and rownum >= ?
select a.*
from (
select dp.*,db.*
from d_category_product dcp
inner join d_product dp on (dcp.product_id=dp.id)
inner join d_book db on (dp.id=db.id)
where dcp.cat_id=?
) a
where rownum <= ? and rownum >= ?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询