with base as
(select 0 as a1, 0 as a2, 0 as a3
from dual
union all
select 1 as a1, 0 as a2, 0 as a3
from dual
union all
select 9 as a1, 0 as a2, 0 as a3 from dual)
select b.a1,decode(c.le,1,0,2,1,3,9) as a2,decode(d.le,1,0,2,1,3,9) as a3
from base b,
(select level as le
from dual
connect by level
(select level as le
from dual
connect by level
order by a1,a2,a3
惭愧,有点低级错误啦。修改后代码如下:
with base as
(select 0 as a1, 0 as a2, 0 as a3
from dual
union all
select 1 as a1, 0 as a2, 0 as a3
from dual
union all
select 9 as a1, 0 as a2, 0 as a3 from dual),
mult as
(select level as le
from dual
connect by level
select b.a1,
decode(m1.le, 1, 0, 2, 1, 3, 9) as a2,
decode(m2.le, 1, 0, 2, 1, 3, 9) as a3
from base b, mult m1, mult m2
order by a1, a2, a3