2017-01-18 4 views
0

Wie kann ich diese Abfrage für die aktuelle Arbeit beheben?Hibernate Query 3 geschachtelt auswählen

Query query = getSession().createQuery(
    "FROM Rates WHERE amount = 
     (SELECT MIN(amount) FROM 
      (SELECT amount FROM Rates 
      GROUP BY amount having COUNT(*) = 1))"); 

IntellijIDE Compiler zeigt

')', ',', FETCH, GROUP, HAVING, IN, ORDER, WHERE or identifier expected, got '(

und unterstreicht die rote Linie FROM (SELECT diese (

+0

Bitte erklären Sie besser Ihr Ziel –

+0

Möchten Sie alle Preise extrahieren, wo Betrag ist Mindestwert? –

Antwort

0

Wenn ich Ihre Anfrage zu verstehen, können Sie dies versuchen:

"FROM Rates r1 WHERE r1.amount in 
    (SELECT MIN(r2.amount) FROM Rates r2 
     GROUP BY r2.amount having COUNT(r2.amount) = 1))" 

Sagen ich, wenn es ist OK