rownum   改为a.rownum
WHERE r > 1 改为b.r

解决方案 »

  1.   

    还是出错 WHERE A.rownum <= 10
            *
    第 4 行出现错误:
    ORA-01747: 无效的用户.表.列, 表.列, 或列规格
      

  2.   

    SELECT * FROM     (     
    SELECT f.*,s.*,rownum r FROM          
     FAVTBL f,SONGTBL s where f.SONGID=s.SONGNO and f.USER_NO=30
    WHERE r<= 10
    ) B
    WHERE r > 1;
      

  3.   

    SELECT * FROM     (     
    SELECT f.*,s.*,rownum r FROM          
     FAVTBL f,SONGTBL s where f.SONGID=s.SONGNO and f.USER_NO=30
    WHERE r<= 10
    ) B
    WHERE r > 1;错误!
    WHERE r<= 10 ) B
    *
    第 4 行出现错误:
    ORA-00907: 缺失右括号
      

  4.   

    是因为FAVTBL和SONGTBL中有同名字段引起的。需要把select *  from FAVTBL f,SONGTBL s ...中的*改为具体的字段名
      

  5.   

    WHERE rownum<= 10 ) B
    改成这样试试
      

  6.   

    具体的字段名也写了 
    可是 还是提示第 4 行出现错误:
    ORA-00907: 缺失右括号
      

  7.   

    SELECT * FROM     (     SELECT A.*, rownum r     FROM          (
    select SONGID,SONGNO,user_no   from FAVTBL f,SONGTBL s where f.SONGID=s.SONGNO and     f.USER_NO=30
    ) A
    WHERE rownum <= 10
    ) B
    WHERE r > 1; 
    也会出错吗?