1
Как я могу преобразовать следующий SQL в HQLMS Sql запрос в Hibernate HQL
select max(id) from mytable where id in (select top 10 id from mytable where mycolumn-value = 1234 order by id)
Как я могу преобразовать следующий SQL в HQLMS Sql запрос в Hibernate HQL
select max(id) from mytable where id in (select top 10 id from mytable where mycolumn-value = 1234 order by id)
Вы не можете сделать точно JPQL эквивалент, потому что это не представляется возможным использовать top
(или limit
, rownum
... каждую базу данных используйте один раз) в подзапросе с использованием JPQL.
Но вы используете что-то вроде этого:
select max(mt.id) from mytable mt where mt.id in
(select mt2.id from mytable mt2 where mt2.mycolumn-value = 1234 order by mt2.id)
Этот запрос игнорировать верхнюю часть на вложенный запрос, это не повлияет на ожидаемый результат.
Я не думаю, что приведенный выше запрос даст мои ожидаемые результаты, так как похоже, что он просто вернет max (id) для заданного значения mycolumn, а не id при заданном счетчике. – Chris
@Chris, но запрос выше не возвращает тот же результат, что и ваш запрос? – Dherik
О, я вижу сейчас :) Спасибо за это. – Chris