Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate, HQL, подзапросы, Не могу составить запрос 
:(
    Опции темы
brejnev
Дата 24.12.2007, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 18.9.2005

Репутация: нет
Всего: нет



Запрос делает следующее. Есть чувак - "person", у него есть история "QuestionnaireHistory". Для чувака может быть несколько записей в истории. У истории есть тип - QuestionnaireStatus и дата. Мне нужно выбрать для каждого чувака последнюю запись в истории и посчитать количество с групировкой по статусам. Некоторые условия убрал чтобы не загромождать пост.

Написал вот такой SQL-запрос:

Код

select count(persondata.f_status), tquestionnairestatus.fname
from (  select max(fdate), f_personaltask, f_status from tquestionnairehistory
        group by 2 desc
     ) as persondata
       left join tquestionnairestatus
       on persondata.f_status = tquestionnairestatus.fkey
group by 2


Работает.
Ничего особенного кроме того, что "select * from <подзапрос>".

Переделываю в HQL
Код

select count(PersonData.status), PesonData.name
from ( 
          select max(history.date) as date, history.personaltask.key as person, history.status as status,history.status.name as name 
from QuestionnaireHistory history  group by 2


не получется, ругается на синтаксис

Код

org.hibernate.hql.ast.QuerySyntaxException: unexpected token: ( near line 1, column 38 [select count(PersonData.status) from ( select max(history.date)........................


В мануале( Hibernate reference) встречаю такую строку:
Код

14.13. Subqueries
....
Note that HQL subqueries may occur only in the select or where clauses.

Нельзя получается вложенные запросы помещать во from.... Как быть?


 smile 

Это сообщение отредактировал(а) brejnev - 24.12.2007, 11:30
PM MAIL   Вверх
brejnev
Дата 24.12.2007, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 18.9.2005

Репутация: нет
Всего: нет



Не стал сильно заморачиваться и сделал через native query. Интересно,на сколько это правильно мешать sql и hql
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.