麻烦转换SQL查询到JPQL(的EclipseLink)
-
27-09-2019 - |
题
嗨,我有以下查询和我的生活,我似乎无法把它翻译成JPQL。工作SQL是:
select * from TB_PRINT_DETAIL y inner join
(select JOB_ID,max(COPY_NUM) MAX_COPY_NUM from TB_PRINT_DETAIL group by JOB_ID ) x
on y.JOB_ID = x.JOB_ID and y.COPY_NUM = x.MAX_COPY_NUM
我在翻译它微弱尝试如下:
select o from PrintDetailEntity o inner join (select o2.jobId, max(o2.copyNumber) as
maxCopyNum from PrintDetailEntity o2 group by o2.jobId ) as x on o.jobId = o2.jobId and
o.copyNum = o2.maxCopyNum where o.printSuppressionReasonEntity is null
在此先感谢任何光线就可以大放异彩!
解决方案
如果我理解您的查询权(选择具有相同copyNumber
中的entites中最大的jobId
实体),下面应该工作:
SELECT o
FROM PrintDetailEntity o
WHERE o.copyNumber =
(SELECT MAX(e.copyNumber) FROM PrintDetailEntity e WHERE o.jobId = e.jobId)
不隶属于 StackOverflow