10

classstudent、およびの3 つのテーブルがあります。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

クエリには、from 句ユニオン演算にサブクエリが含まれています。HQLに変換できません。

上記のSQLクエリから効率的なHQLクエリを教えてください。

4

2 に答える 2

8

残念ながら、HQL は UNION クエリをサポートしていません。問題を解決するための 2 つの代替戦略は次のとおりです。

于 2013-01-03T16:27:02.077 に答える
7

fromHQLの句にサブクエリを配置することはできません。selectorwhere句 のみ。

于 2013-01-03T15:04:01.543 に答える