Probleme Umwandeln SQL-Abfrage in JPQL (Eclipse)
-
27-09-2019 - |
Frage
Hey Jungs, ich habe die folgende Abfrage und für das Leben von mir kann ich es nicht in JPQL zu übersetzen scheint. Die Arbeits SQL ist:
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
Mein schwacher Versuch, es zu übersetzen ist wie folgt:
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
Vielen Dank im Voraus für jedes Licht können Sie glänzen!
Lösung
Wenn ich Ihre Frage richtig (wählen Sie Unternehmen, die den größten copyNumber
unter den entites mit dem gleichen jobId
haben) verstehen, sollten folgende Arbeiten:
SELECT o
FROM PrintDetailEntity o
WHERE o.copyNumber =
(SELECT MAX(e.copyNumber) FROM PrintDetailEntity e WHERE o.jobId = e.jobId)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow