update ms_search m set status = 
(  select mr.rating_label_id
          from ms_rating_text mr, rating
          where rating.score = mr.rating_score(+)
          and rating.org_nummer = m.org_nummer
                and rating.date=(select max(date) from rating where rating.org_nummer = m.org_nummer
))不知道这样行不行

解决方案 »

  1.   

    update ms_search m
    set status = 
    ( select mr.rating_label_id
              from ms_rating_text mr, rating
              where rating.score = mr.rating_score(+)
              and rating.org_nummer = m.org_nummer
              and rating.dato=(select max(a.dato) from ms_rating_test a)
              and rownum <= 1
    );--改写了一下.降序排列取第一个数据,就是取得rating.dato的最大的一个.
      

  2.   

    ...          
    and rating.dato=(select max(a.dato) from ms_rating_test a where a.id=mr.id)
              and rownum <= 1
    );
      

  3.   

    谢谢!解决了,关键是使用rating.dato=(select max(a.dato) ...
    但是请问,嵌套的表层数有限制吗?
      

  4.   

    ok, I see.  谢谢!