日期:2014-05-17  浏览次数:20710 次

求教一个oracle sql
有单据表case,明细表history。明细表记录case的处理记录。每个case可能有多个history。
case.id = history.caseid

问:
我要把所有case的name(随便说的)字段值改成case的最后一条(id自增)处理记录的name(还是随便说的)字段的值。
oracle 中子查询不能用order by,咋个整?

小弟没分了。

------解决方案--------------------
update case ca
   set ca.name =
       (select hi.name, max(hi.caseid)
          from history hi
         group by hi.name
         where hi.caseid = ca.id)