try:
select t.num id,tb.name from
(select rownum num from all_source
where rownum<(select max(id) id from table1)
) t,table1 tb
where t.num=tb.num(+);
select t.num id,tb.name from
(select rownum num from all_source
where rownum<(select max(id) id from table1)
) t,table1 tb
where t.num=tb.num(+);
解决方案 »
- oracle 指导中心 段指导问题
- 下面二个过程占用锁资源多,还是 基本上没有区别
- 安装oracle出错!急求问
- sql问题请教,查出一个表中所有相同记录后,只保留相同记录中的一条记录,其它的全部删除,如何写sql,如果在存储过程里如何做呢
- Procedure 中如何将一个表的内容全部插入另一结构相同的表?
- 用户的quota怎样设置?
- 当修改一个表后,另外一个如何也跟着这样改动
- 为什么我装完ORACLE9i后,想建库,点击database configuration一点反应也没有?
- 这两个命令有何区别?
- vs连接Oracle服务器
- 想实践PL/SQL编程,但不想装oracle,还有其它办法吗?
- server sql 转化为 oracle 该怎么实现
from table1 a,
(select rownum id from all_objects where rownum <= N) b
where a.id(+) = b.id
order by b.id
如果我的table1字段id 为varchar2或者char型时,数据为1002,‘0002’等之类时,这样还可以
跟rownum 相比较吗?请不吝赐教,多谢!!
(
id varchar2(10),
name varchar2(50)
);insert into test_table values('10001','name1');
insert into test_table values('10002','name2');
insert into test_table values('10003','name3');
insert into test_table values('10004','name4');select t.id,tb.name
from
(
select rownum id from all_objects where rownum < (Select max(id) from test_table)
) t,test_table tb
where t.id = tb.id(+)
and t.id in ('10001','10002','10005')得到:
id name
10001 name1
10002 name2怎么得不到1005行啊?
select b.id,a.name
from table1 a,
(select rownum id from all_objects where rownum <= N) b
where a.id(+) = b.id
order by b.id搂主又问怎么没有10005行,你的10005行没有数据阿,那怎么会有rownum呢,你最起码,插入个1005行的数据阿:
create table test_table
(
id varchar2(10),
name varchar2(50)
);insert into test_table values('10001','name1');
insert into test_table values('10002','name2');
insert into test_table values('10003','name3');
insert into test_table values('10004','name4');
insert into test_table values('10005','');select t.id,tb.name
from
(
select rownum id from all_objects where rownum < (Select max(id) from test_table)
) t,test_table tb
where t.id = tb.id(+)
and t.id in ('10001','10002','10005')得到:
id name
10001 name1
10002 name2
10005