2017-08-31 78 views
0

我使用与oracle连接的nhibernate。select top 1 nhibernate oracle

什么是错我的语法:

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); 

我得到错误: NHibernate.Hql.Ast.ANTLR.QuerySyntaxException被抓 的HResult = -2146232832 消息=的Une例外德式“Antlr.Runtime .NoViableAltException'aétélevée。靠近第2行,列37 来源= NHibernate

+0

你的外部查询没有在子查询的字段引用相同的名字从 选择不同reponse1(选择reponse2 – jimmy8ball

+0

感谢你的回应,你能更具体请 – user609511

+1

从选择不同reponse1(选择reponse2他们不匹配 – jimmy8ball

回答

0

CreateQuery是针对HQL而不是SQL。您需要改用CreateSQLQuery

+0

但我使用HQL,正如你可以在我的查询中看到的那样 – user609511

+1

什么是HQL中的rownum,然后?rownum是一个Oracle概念。 –

+0

是的,你说得对,我把它混合....它不是正确的代码 – user609511