2013-03-22 1303 views
1

我在我的sql命令中收到以下sql错误!请任何人都可以解释我在这里做错了什么!PreparedStatementCallback;错误的SQL语法

15:20:43,686 ERROR [PageExceptionFlowInterceptor] Exception (EJBException) while executing Action [com.jkcs.khms.web.cashiering.hotelTax.HotelTaxAction] : org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT * FROM (SELECT rs_qry.*, ROWNUM rn_qry FROM (SELECT ht.htl_tax_id, 
        ht.hotel_id, 
        ht.tax_id, 
        ht.status, 
        ht.display_sequence, 
        t.id, 
        t.code, 
        h.hotel_name, 
        h.hotel_id 
      FROM 
        PMS_T_HTL_TAX ht, 
        CRS_T_TAX t, 
        CRS_T_HOTEL h WHERE ht.hotel_id IN (1) AND ht.tax_id IN (31,3,37,38,36,23,29,30,24,10,12,20,11,1,16,17,18,19,34,35,15,33,22,2,21,32) order by ht.hotel_id, ht.htl_tax_id ) rs_qry) WHERE rn_qry BETWEEN 1 AND 10]; nested exception is java.sql.SQLException: ORA-00904: "T"."ID": invalid identifier 
+1

“T”,“ID”列:无效的标识符 - 可能是你的税表已tax_id场,而不是ID? – Arvo 2013-03-22 09:59:54

+0

是的,我看到了!抱歉!但是当我修复它时,出现以下错误。 列模糊定义 – 2013-03-22 10:24:58

+0

“t.tax_id as tid” - 或其他一些自我描述别名。或者你不需要两次使用相同的ID。我想你错过了酒店和税收之间的联系。 – Arvo 2013-03-22 11:42:13

回答

0

你CRS_T_TAX表没有一个叫做ID