im mit Grails 2.4.5Grails executeQuery subquery
Ich will die Top-3-Kunden abgerufen werden basierend darauf, wie viele Aufträge sie haben
im diesem Code
def customers = Customer.executeQuery("Select cu, (Select count(*) from Contract co where co = cu.contract) from Customer cu",
[max: 3])
und es auszuführen versuchen gibt diesen Fehler zurück
linken und rechten Seiten eines binären Logikoperators wurden inkompatibil [com.cms.Contract: java.util.Set (com.cms.Customer.contract)]
ich verstehe, dass die co-und cu.contract-typen nicht die gleichen sind, aber ich verstehe nicht warum. kann mir jemand helfen wie diese executeQuery von grails funktioniert. Dies ist das einzige Framework, das ich verwende, das eine statische Abfrageausführung hat, aber trotzdem einem bestimmten Format folgen muss.
, was ich wirklich tun möchte, ist eine Abfrage wie diese
Select * from Customer cu order by (Select count(*) from Contract co where co.id = cu.id)