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

Oracle 简单语句
SQL code

 select  (case when  a.TOTALNETUNIT is not null then 
  (  select c.TOTALNETUNIT  from FND_DERNAV c  where  c.SECUCODE=a.secucode and rownum=1 order by c.enddate desc      )
 else a.totalnetunit 
  end) as MyColumn  
  from FND_DERNAV a inner join FND_DAILYQUOTE b on a.SECUCODE=b.secucode and b.TRADINGDAY=a.ENDDATE


  
"报ORA-00907 缺失右括号“

求解 我这条sql为什么会出错呢?

------解决方案--------------------
初步看来 语法应该没问题
------解决方案--------------------
不说语法问题,单看你这个
SQL code
 and rownum=1 order by c.enddate desc

------解决方案--------------------
探讨

引用:

不说语法问题,单看你这个SQL code
and rownum=1 order by c.enddate desc
的用法就有问题,rownum是个伪列,是先于order by子句执行的,所以你加个按结束日期排序毫无意义,不信你把desc改成asc看看,结果是一样的。

select* from FND_DERNAV where rownum=1 o……