我有两个参数的列表(我通过子查询得到了它)
LocalDate date, Long id
LocalDate date, Long id
...
LocalDate date, Long id
我想调用查询来获取对象,在该对象中检查每行是否有两个条件:
这里的位置似乎不适用。
在SQL中,我将尝试使用JOIN子句,但在JPQL中,我无法加入子查询。如何使用JPQL做到这一点?
示例:
子查询中的参数
2018/01/10 1
2018/01/20 2
Chron对象表数据
2018/01/09 1
2018/01/15 1
2018/01/25 1
2018/01/15 2
2018/01/25 2
2018/01/25 3
查询应返回Chron对象
2018/01/15 1
2018/01/25 1
2018/01/25 2
我能够构建类似的查询,但是它只使用一个ID和日期作为参数,调用子查询仅获得一个日期,而我需要提供ID列表作为输入:
SELECT oc
FROM OutletChron oc
WHERE
oc.outletId = :outletId AND
oc.start >= (COALESCE(
(SELECT MAX(ocInner.start)
FROM OutletChron ocInner
WHERE
ocInner.outletId = :outletId AND
ocInner.start <= :from), :from))
ORDER BY oc.start