【问题标题】:Keyword not found where expected在预期的地方找不到关键字
【发布时间】:2018-05-15 01:59:05
【问题描述】:

如何修复未在预期错误处找到关键字!请任何人帮助 谢谢

执行查询时未在预期位置找到 FROM 关键字

String query = "select  bc.institution_code,bc.branch_code,tmp.order_channel,tmp.order_root_div,"
        + "count(ls.session_id) as tenlogincount from branch bc,login_session ls,(select    a.session_id,a.branch_id,"
        + "b.order_channel,c.order_root_div from(select session_id,property_value as branch_id"
        + "from login_session_property where property_name = 'branchID') a,(select session_id,"
        + "property_value as order_channel from login_session_property where property_name = 'orderChannel') b,"
        + "(select  session_id,property_value as order_root_div from login_session_property"
        + "where property_name = 'orderRootDiv') c where    a.session_id = b.session_id"
        + "and  b.session_id = c.session_id) tmp where  to_char(ls.creation_date, 'YYYY-MM-DD') = ?"
        + "and  ls.type_id in  (select type_id from login_type where type_name like '%customer_login_type%')"
        + "and  ls.session_id = tmp.session_id and  bc.branch_id = tmp.branch_id"
        + "and  ((to_char(ls.creation_date,'HH24MI') <= ? and to_char(ls.last_update,'HH24MI') >= ?"
        + "and  ls.validity <> 0) or    (to_char(ls.creation_date,'HH24MI') <= ?"
        + "and  to_char(ls.expiration_date,'HH24MI') >= ? and   ls.validity = 0)) group by bc.institution_code,"
        + "bc.branch_code,tmp.order_channel,tmp.order_root_div";

【问题讨论】:

  • 我会为您运行查询,但您所指的表不存在。您应该考虑添加创建表命令以完成 sn-p。另见stackoverflow.com/help/mcve
  • 您可能还想粘贴正在记录的实际错误。这将帮助任何试图帮助你的人。只是一个想法。
  • 请重写您的代码,并正确格式化。您将代码拆分为多行浪费了太多精力,浪费了太多+“...”+“...”。没原因。你的代码很纠结,只有手动重新格式化才能阅读。
  • 对不起,我重新修改过,请重新检查
  • 看着你的格式化代码,我的眼睛受伤了。我的建议是增加更多的carraige return。至少,应该能够辨认出 from 和 where 子句的开头。我当然不能。

标签: java mysql sql jsp servlets


【解决方案1】:

连接字符串时需要用空格分隔单词。

例如,在第 3 行的结尾 as branch_id 与第 4 行的开头 from login_session_property 之间。这将成为as branch_idfrom login_session_property。看到错误了吗?这没有意义。

只需确保在每行末尾添加一个空格,以确保在构建整个字符串时分隔单词。第 3 行的末尾应该看起来像 as branch_id

你有几行有相同的错误。

【讨论】:

  • 我本来打算建议使用heredoc来避免这种丑陋的字符串连接,然后意识到java没有这样的东西......那很臭......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
相关资源
最近更新 更多