2014-02-10 28 views
0

我在java类中有一个sql查询。当我运行它它给了我这个错误ORA-00923:从关键字找不到预期的地方。我发现了类似的问题,但我似乎无法理解我做错了什么。Oracle sql查询问题ORA-00923:FROM关键字找不到预期的地方

查询是:

 String sqlQueryCM = "insert into customers_messages" 
      +" (customer_id, message_id, status)" 
      +" select gc.customer_id,? as gm.message_id, 0" 
      +" from groups_customers gc join cgroups cg on gc.group_id = cg.id" 
      +" join groups_messages gm on gc.group_id = ?" 
      +" join messages m on gm.message_id = m.id left" 
      +" join customers_messages cm on gc.customer_id = cm.customer_id and gm.message_id = cm.message_id" 
      +" where cm.message_id = ?" 
      +" and m.message_published = 1" 
      +" and (cg.start_date is null or to_char(cg.start_date,'YYYYMMDD') <= to_char(sysdate,'YYYYMMDD'))" 
      +" and (cg.end_date is null or to_char(cg.end_date,'YYYYMMDD') >= to_char(sysdate,'YYYYMMDD'))" 
      +" and (m.start_date is null or to_char(m.start_date,'YYYYMMDD') <= to_char(sysdate,'YYYYMMDD'))" 
      +" and (m.end_date is null or to_char(m.end_date,'YYYYMMDD') >= to_char(sysdate,'YYYYMMDD'))" 
      +" and cm.status is null"; 
+0

我试过但它是同样的问题.. – user3256429

+0

@ dic19:在这种情况下不需要数值。请参阅[链接](http://docs.oracle.com/cd/E17952_01/refman-5.1-en/insert-select.html) – StephaneM

+0

尝试将'0定义为SomeField' – 2014-02-10 14:02:59

回答

0

尝试通过

+" join customers_messages cm on (gc.customer_id = cm.customer_id and gm.message_id = cm.message_id)" 

编辑替换该行

+" join customers_messages cm on gc.customer_id = cm.customer_id and gm.message_id = cm.message_id" 

:换下的最后(通过)。对不起,错字。

相关问题