比如:用户输入的是5则生成:
2008
2007
2006
2005
2004
用户输入的是3则生成:
2008
2007
2006用户要求是这样的:表里code(非主键),date,money三个字段,输入一个n(正整数),显示当前年度到前n年的每一年的money的合计,如果某一个code在某一年没有数据,也要显示menoy为0。

解决方案 »

  1.   

    select level+to_char(sysdate,'yyyy')-输入的数字 lv from dual  
    connect by level <= 输入的数字
    order by level desc
      

  2.   

    不会啊!你输入多少都可以的
    你用100做测试啊!这个sql 的原形是
    select level lv from dual  
    connect by level  <= 输入的数字
      

  3.   

    还是不行,是不是跟数据库环境有关系?我用的是10g.您的语句我也试过,类似的方法我也试过select rownum lv from dual   
    connect by rownum <= 输入的数字 最大就是到11,真是奇怪是不是跟系统表有关系?
      

  4.   

    不明白了
    我用的是9
    这个语句从9开始支持的。以前用8的时候,采用的方法是
    select rownum rn from 一张记录数多的表
    where rownum<=输入的数字 
    实在不行就用这个方法吧
      

  5.   

    其他表我试过,会产生大于11条的数据。我在Obj Browser9执行语句。
      

  6.   

    不明白了,等明白人
    Obj Browser9  是什么东西啊?我用的是plsql dev