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!

War es hilfreich?

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
scroll top