SELECT ta.id, ta.caption ,to_char(tr.createTime,'YYYY-MM-DD HH24:MI') from T_Article ta,t_reply tr where id in(select article_id from(select rownum row_num,article_id from(select article_id from(select article_id,count(article_id) rc from t_reply where createTime > trunc(sysDate,'D') group by article_id) order by rc desc)) where row_num <= ?) and ta.id=tr.article_id     
java.sql.SQLException: ORA-00918: 未明确定义列 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
at forumBean.ManipulateArticle.getWeekHotThemes(ManipulateArticle.java:635)
at forumUtil.ZoneUtil.getWeekHotThemes(ZoneUtil.java:158)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:165)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Unknown Source)
2009-5-7 11:20:58 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception

解决方案 »

  1.   

    ORA-00918: 未明确定义列 
    =========================================
    两个表中有同名的列,但列前未指定表名。
      

  2.   

    java.sql.SQLException: ORA-00918: 未明确定义列 很明显了,列名字写错了,你在plsql里面跑下这段sql语句,就会知道是哪个列写错了!
      

  3.   

    to_char(tr.createTime,'YYYY-MM-DD HH24:MI')
      

  4.   


    SELECT ta.id, ta.caption ,to_char(tr.createTime,'YYYY-MM-DD HH24:MI') 
    from T_Article ta,t_reply tr 
    where ta.id in(select article_id from(select rownum row_num,article_id 
                                       from(select article_id 
                                            from(select article_id,count(article_id) rc 
                                                 from t_reply 
                                                 where createTime > trunc(sysDate,'D') 
                                                 group by article_id) 
                                            order by rc desc)) 
                 where row_num <= ?) 
    and ta.id=tr.article_id  应该是红色部分字段没加表名
      

  5.   

    列名没写对吧。plsql里执行下,就知道是哪了
      

  6.   

    应该是列名的问题啦,在Pl/sql里单步调试一下就知道问题在哪里呢