Ich verwende eine Ebean-Abfrage im Spiel! Framework, um eine Liste von Datensätzen basierend auf einer bestimmten Spalte zu finden. Es scheint wie eine ziemlich einfache Abfrage, aber das Problem ist die Ebean-Methode. SetDistinct (true) setzt die Abfrage nicht wirklich auf distinct.
Meine Abfrage lautet:
%Vor%In meinen Ergebnissen erhalte ich doppelte Künstlernamen.
Nach dem, was ich gesehen habe, glaube ich, dass dies die korrekte Syntax ist, aber ich könnte falsch liegen. Ich würde mich über jede Hilfe freuen. Danke.
Laut Problem # 158: Fügen Sie Unterstützung für die Verwendung von setDistinct hinzu (indem Sie die ID-Eigenschaft von generated sql ausschließen) Im Ebean-Bug-Tracker besteht das Problem, dass eine ID-Spalte implizit am Anfang der Auswahl-Abfrage hinzugefügt wird. Dadurch wirkt das unterschiedliche Schlüsselwort auf die ID-Spalte, die immer eindeutig ist.
Dies soll in Ebean 4.1.2 behoben werden.
Ich habe gerade das gleiche Problem aus heiterem Himmel gesehen und kann es nicht herausfinden. Wie hfs sagte, wurde es in einer späteren Version behoben, aber wenn Sie für eine Weile stecken bleiben, können Sie
verwenden %Vor%In Ihrem Beispiel verwenden Sie also
%Vor%Ich habe eine Lösung dafür: -
RawSql rawSql = RawSqlBuilder .parse ("SELECT distinct CASE, WENN PARENT_EQUIPMENT_NUMBER NULL DANN EQUIPMENT_NUMBER ELSE PARENT_EQUIPMENT_NUMBER END ALS PARENT_EQUIPMENT_NUMBER" + "VON TOOLS_DETAILS"). Create ();
%Vor%Tags und Links sql java playframework ebean