2015-01-19 3 views
0
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 \\:[email protected]+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.service() для сервлета [MVC-диспетчерская] в контексте с путем [/ SpringSecurity] бросил исключение Ошибка обработки запроса; Вложенное исключение - org.hibernate.exception.SQLGrammarException: не удалось извлечь ResultSet] с корневой причиной com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: у вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи «SELECT ue.id, ue.Latitude, ue.Longitude, ue.Serving_Cell, ue.RSCP ОТ у.е INNER» в строке 1SQL ошибки с внутренним соединением MySQL

ответ

0

Вы пытаетесь выполнить сразу два запроса. Вы можете выполнять только одно за раз.

SELECT ue.id, ue.Latitude, ue.Longitude, ue.Serving_Cell, ue.RSCP 
FROM ue INNER JOIN(
    SELECT id 
    from (
      SELECT @row \\:[email protected]+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 
+0

вы совершенно правы спасибо большое с вашей помощью, он работает сейчас: D – mahdy

Смежные вопросы