Как использовать подзапрос в разделе "from" в спящем режиме?

У меня есть три таблицы: class, student и teacher

table class
{
    class_id(PK)
}

table student
{
    student_id(PK)
    class_id(PK+FK)
}

table teacher
{
    teacher_id(PK)
    class_id(PK+FK)
}

У меня есть запрос в SQL, который отлично работает.

SELECT data.class_id, count(data.class_id) AS count
FROM ((SELECT class_id FROM student)
        union all
        (SELECT class_id FROM teacher)) AS data
GROUP BY data.user_id
ORDER BY count desc

Запрос содержит вспомогательный запрос в из предложения и операции объединения. Я не могу преобразовать его в HQL.

пожалуйста, дайте мне эффективный запрос HQL из вышеупомянутого SQL-запроса.

Ответ 1

К сожалению HQL не поддерживает запросы UNION. Две альтернативные стратегии для решения вашей проблемы:

Ответ 2

Вы не можете поместить подзапрос в предложение from в HQL. Только select или where.