17,086
社区成员
发帖
与我相关
我的任务
分享
SELECT *
FROM (SELECT T.*, ROWNUM RN FROM Test T) X,
(SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 10) Y
WHERE X.RN(+) = Y.L;
例子如下:
SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO
FROM (SELECT T.*, ROWNUM RN FROM SCOTT.EMP T) X,
(SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 10) Y
WHERE X.RN(+) = Y.L;
SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO
FROM (SELECT T.*, ROWNUM RN FROM SCOTT.EMP T WHERE ROWNUM < 8) X,
(SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 10) Y
WHERE X.RN(+) = Y.L;
select * from test
1 PDA03116 注册兽医师 2
2 PDA03116 注册兽医师 3
3 PDA03116 无定级兽医 1
4 PDA03116 中级技工 2
5 PDA03116 初级技工 1
6 PDA03117 无定级技工 2
7 PDA03117 无定级技工 7
SQL:
select to_char(t01),to_char(t02),to_char(t03) from test
union all
select to_char('') t01,to_char('') t02, to_char('') t03 from test where rownum<9-rownum
1 PDA03116 注册兽医师 2
2 PDA03116 注册兽医师 3
3 PDA03116 无定级兽医 1
4 PDA03116 中级技工 2
5 PDA03116 初级技工 1
6 PDA03117 无定级技工 2
7 PDA03117 无定级技工 7
8
9
10
11