【问题标题】:sql error with inner join mysql内部连接mysql的sql错误
【发布时间】:2015-01-19 14:19:51
【问题描述】:
String sql = "set @row \\:=-1; SELECT ue.id, ue.Latitude, ue.Longitude, ue.Serving_Cell, ue.RSCP 
FROM ue INNER JOIN(
     SELECT id 
     from (
          SELECT @row \\:=@row+1 as rownum, id 
          from (
          select id from ue order by id) as sorted
                )as ranked  
      where rownum %20=0) as subset 
      on subset.id = ue.id 
where Operator like :operator ";

Query query = getSessionFactory().getCurrentSession().createSQLQuery(sql);

query.setParameter("operator", "%" + operator + "%");

return query.list();

请帮我找出我的 sql 错误 控制台渲染我: 坟墓:servlet [mvc-dispatcher] 的 Servlet.service() 在路径 [/SpringSecurity] 的上下文中抛出异常 [请求处理失败;嵌套异常是 org.hibernate.exception.SQLGrammarException: could not extract ResultSet] 根本原因 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误; 查看与您的 MySQL 服务器版本相对应的手册,以了解在 'SELECT ue.id, ue.Latitude, ue.Longitude, ue.Serving_Cell, ue.RSCP FROM ue INNER' 附近使用的正确语法第 1 行

【问题讨论】:

    标签: mysql sql spring inner-join


    【解决方案1】:

    您尝试一次执行 2 个查询。您一次只能执行一个。

    SELECT ue.id, ue.Latitude, ue.Longitude, ue.Serving_Cell, ue.RSCP 
    FROM ue INNER JOIN(
         SELECT id 
         from (
              SELECT @row \\:=@row+1 as rownum, id 
              from (
              select id, @row 
              from ue, (select @row := -1) r
              order by id) as sorted
                    )as ranked  
          where rownum %20=0) as subset 
          on subset.id = ue.id 
    where Operator like :operator
    

    但是你可以使用子查询来初始化这样的变量

    (select @row := -1) r
    

    【讨论】:

    • 你说得对,非常感谢你的帮助,它现在可以工作了:D
    猜你喜欢
    • 1970-01-01
    • 2018-06-25
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多