select ROWNUM,0 from 有数据的表(表记录>你想要的序列N,你的例子里是5) where ROWNUM <5 例如 SELECT ROWNUM,0 AS AGE FROM EMP where ROWNUM <5 ROWNUM AGE 1 0 2 0 3 0 4 0 5 0 SELECT * FROM A; ID AGE 1 30 3 40 select id,max(AGE) from (SELECT ROWNUM ID,0 AS AGE FROM EMP where ROWNUM <=5 union SELECT * FROM A) group by id
select t1.rn, nvl(sum(t2.t),0) from (select rownum rn from dual connect by rownum <= 5) t1, ta t2 where t1.rn = t2.a(+) group by t1.rn;
select t.l, nvl(sum(t2.t),0) from ( select level l from dual connect by level <=5) t left join ta t2 on (t.l = t2.a) group by t.l
case when sum(columnname) = 0 then 0 else then sum(columnname) end;
再decode(sum(a.t),null,0,sum(a.t))
例如 SELECT ROWNUM,0 AS AGE FROM EMP where ROWNUM <5
ROWNUM AGE
1 0
2 0
3 0
4 0
5 0
SELECT * FROM A;
ID AGE
1 30
3 40
select id,max(AGE) from
(SELECT ROWNUM ID,0 AS AGE FROM EMP where ROWNUM <=5
union
SELECT * FROM A)
group by id
(select rownum rn from dual connect by rownum <= 5) t1,
ta t2
where t1.rn = t2.a(+)
group by t1.rn;
(
select level l from dual connect by level <=5) t
left join ta t2 on (t.l = t2.a)
group by t.l
else then sum(columnname) end;