有一个表sp_table里面有N条数据,然后写一个SQL语句从这个表里面取出这个表的数据,如果N>=15,那直接取多少条就多少条,如果N<15,要补空数据,到最终取出为15条为止,请问这语句要怎么写呀

解决方案 »

  1.   

    with tt as(select 1 a,1 b ,1 c ,1 d from dual)select * from(
      select * from tt
      union all
      select null,null,null,null from dual connect by rownum<16
      order by 1 nulls last)
    where rownum<=15
      

  2.   

    修改下
    with tt as(select rownum a,1 b ,1 c ,1 d from dual connect by rownum<20)select * from(
      select * from tt
      union all
      select null,null,null,null from dual connect by rownum<16
      order by 1 nulls last)
    where rownum<=15 or a is not null
    楼主可以将with as测试数据中的rownum<20改成rownum<10试试
    给个例子,楼主试着按自己需要修改