2017-08-31 2 views
0

ich benutze nhibernate, die mit oracle verbunden sind.wählen top 1 nhibernate oracle

was mit meiner Syntax falsch ist:

string requeteString = @"select distinct reponse1 from 
            (select reponse2 from CAMPAGNE reponse2 where reponse2.TEl = :tel and reponse2.EXECUTE.ID = :IdExecute order by reponse2.ReponseLEVEL desc) reponse1 
             where rownum = 1"; 

IQuery requete = this.CreateQuery(requeteString); 

i Fehler bekam: NHibernate.Hql.Ast.ANTLR.QuerySyntaxException gefangen wurde HResult = -2146232832 Message = Une Ausnahme de type ‚Antlr.Runtime .NoViableAltException 'a été levée. nahe Linie 2, Spalte 37 Quelle = NHibernate

+0

Ihre äußere Abfrage ist für Ihr Feld in der Unterabfrage select distinct reponse1 von (wählen reponse2 – jimmy8ball

+0

dankt Ihnen für Ihre Antwort nicht den gleichen Namen referenzieren, Sie das konkretisieren könnte bitte – user609511

+1

aus verschiedenen reponse1 wählen (wählen reponse2 sie Spiel nicht – jimmy8ball

Antwort

0

CreateQuery ist für HQL, nicht SQL. Sie müssen stattdessen CreateSQLQuery verwenden.

+0

aber ich benutze HQL, wie Sie auf meiner Abfrage sehen können – user609511

+1

Was ist Rownum in HQL, dann? Rownum ist ein Oracle-Konzept. –

+0

ja du richtig, ich mische es .... es ist nicht der richtige Code – user609511