with a as(
select 1 aid,'指标1' signname,11 data from dual union all
select 2, '指标2', 21 from dual),
b as(
select 3 bid,'指标3' signname,31 data from dual union all
select 4, '指标4', 41 from dual)
select aa.rn,aa.aid,bb.bid
from (select rownum rn,a.* from a) aa,
(select rownum rn,b.* from b) bb
where aa.rn=bb.rn;原应该得到的结果是
RN AID BID
---------- ---------- ----------
1 1 3
2 2 4可是我执行的结果却是:
应该不是PL/SQL版本的原因,因为我用两个版本的使用,都是这样的结果
select 1 aid,'指标1' signname,11 data from dual union all
select 2, '指标2', 21 from dual),
b as(
select 3 bid,'指标3' signname,31 data from dual union all
select 4, '指标4', 41 from dual)
select aa.rn,aa.aid,bb.bid
from (select rownum rn,a.* from a) aa,
(select rownum rn,b.* from b) bb
where aa.rn=bb.rn;原应该得到的结果是
RN AID BID
---------- ---------- ----------
1 1 3
2 2 4可是我执行的结果却是:
应该不是PL/SQL版本的原因,因为我用两个版本的使用,都是这样的结果
select 1 aid,'指标1' signname,11 data from dual
union all
select 2 aid,'指标2' signname,21 data from dual
--这样有结果产生吗?
with a as(
select 1 id from dual
)
SELECT * from a
执行的结果是:
http://hi.csdn.net/attachment/201101/4/4189895_1294118958qmq5.jpg
SQL>
SQL> with a as (select 1 from dual)
2 select * from a
3 ;
1
----------
1
SQL>
with语法只在9I以上才支持的。