【发布时间】:2021-01-14 05:53:36
【问题描述】:
我需要对单个数据库执行一个简单的查询,但是由于JPQL中缺少子查询(除了HAVING和EXITS子句),我不知道怎么写。
表格是这样的
id | eventType | occurenceDate | comment | data | ...
-----------------------------------------------------------
1 | event-A | 2020-09-14 | ...
2 | event-B | 2020-09-09 | ...
3 | event-A | 2020-09-13 | ...
4 | event-A | 2020-09-10 | ...
5 | event-B | 2020-09-20 | ...
6 | event-C | 2020-09-11 | ...
我需要一个查询来获取在给定参考日期按类型发生的所有下一个事件。 例如,如果参考日期是“2020-09-12”,我希望查询返回 id=3 和 5 的实体
获取 eventType/occurenceDate 元组列表没问题(这是唯一的复合键)
SELECT t.type, min(t.occurenceDate)
FROM table t
WHERE t.occurenceDate > :referenceDate
GROUP BY t.eventType
但没有子查询,我不知道如何获取完整的实体。
有什么帮助吗? 谢谢
【问题讨论】: