Как найти максимум из нескольких таблиц по HQL - PullRequest
0 голосов
/ 27 января 2020

У меня есть этот запрос, чтобы узнать максимальный «результат числа» от Employee по годам.

String query = "SELECT max(s.number) FROM Employee s where EXTRACT(YEAR from s.issueDate)='" + year + "'";

Но мне нужно сделать то же самое из трех таблиц: Employee, Postgraduate, Student. Поля одинаковы. Я хотел бы сделать выбор из этих трех таблиц и найти максимальное количество. Как я могу это сделать?

Я делаю это, но с sql. Как я могу сделать это с HQL-запросом?

SELECT MAX(trip_card_number)
  FROM (SELECT trip_card_number FROM employee_trip_cards
        WHERE EXTRACT(YEAR FROM card_Issue_Date) = '2012'
        UNION ALL
        SELECT trip_card_number FROM postgraduate_trip_cards
        WHERE EXTRACT(YEAR FROM card_Issue_Date) = '2012'
        UNION ALL
        SELECT trip_card_number FROM students_trip_cards 
        WHERE EXTRACT(YEAR FROM card_Issue_Date) = '2012'
        )
...