表A id name 1 张三 2 李四 表B id sex 1 男 2 女 要得到表C id name sex 1 张三 男 2 李四 女 我以前记得sqlserver用到inner join 一个表达式 内联的 现在 oracle 上试了 不行。 不知道 oracle 怎么写。请朋友们指点一下谢谢。
你后面的参数搞反了
select * from (
select object.* ,rownum as rn from (
select * from A表 A inner join B表 B on A.id=B.id order by to_number(A.id) ) object where rownum<=100) where rn>0
我现在这样子了
select * from A表 A inner join B表 B on A.id=B.id order by to_number(A.id)//这句外联查询和排序
(select object.*, rownum rn from object where rownum <= (0)) where rn > (100)// 这句分页
我这句分页貌似有问题我自己看不出来 第一句应该可以了
我尝试了 几次 无法实现,我把我的语句贴出来 大家帮忙看看。
首先之前实现的分页:
select * from
(select object.*, rownum rn from
(select * from 我的表 order by to_number(ID字段))
object where rownum <= (100)) where rn > (0)
order by to_number(ID字段)
分页100行 0~100
现在实现的外联
select a.name,b.sex from A表 a inner join carinfo B表 b on a.id=B.id
现在 我尝试好几种方法 都不能 实现外联以后的分页,我现在错误的写法如下
select A.name,B.sex
(select object.*, rownum rn from
(select * from A表 A inner join B表 B on A.id=B.id order by to_number(a.id))
object where rownum <= (100)) where rn > (0)
order by to_number(a.id)
是哪里不对劲了,提示说是 a.id 这里错误