Select  * from 
(Select a.jifdl,b.huh,b.hum,b.lianxr,b.cuifdh from psmis.jf_jifjg a,psmis.yd_yonghda b order by dbms_random.value  )   
where rownum <=2 and cuifdh is not null
谢谢了!

解决方案 »

  1.   

    from 后的子查讯中不能有排序的order by
      

  2.   

    有两个问题,一是两个表没有联接关系  二是随机排序不是这样写的Select  * from 
    (Select a.jifdl,b.huh,b.hum,b.lianxr,b.cuifdh,dbms_random.random num 
        from psmis.jf_jifjg a,psmis.yd_yonghda b  
       where a.XXX=b.XXX
      order by num)   
    where rownum <=2 and cuifdh is not null
      

  3.   

    可以有ORDER BY的.
    你的错误是什么?是语法报错还是检索为空?(你的条件最多检索到2条记录)
    准确的说你的ORDER BY后面用随机数可能还是有点问题的.你换成一个字段好了.
    你的dbms_random.value应该改为dbms_random.random,或者dbms_random.value(m,n)(表示M-N之间的随机数)
      

  4.   

    没报错误,系统假死机了,半天没有反应。
    如果是一个表随机查询没有问题。两个表联合查询后再随机就不行了。
    我的意思就是想两个表联合查询后再取随机数据,数据库为oracle9.2谢谢了。
      

  5.   

    不可能吧,我也是用的9i啊,这里执行得好好的你的psmis.jf_jifjg a,psmis.yd_yonghda b 的关系写对了吗?
      

  6.   

    同意rolandzhang(),语法没有错误,只是你这个查询是一个笛卡尔乘积,耗时比较长,所以"没报错误,系统假死机了,半天没有反应"