У меня есть этот запрос, чтобы узнать максимальный «результат числа» от 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'
)