ORA-00918: column ambiguously defined解决之道

    最近做一个项目,经常需要用到多表查询(Hibernate),通过需要分页等,于是经常会碰到 ORA-00918: column ambiguously defined错误。

            该报错翻译过来:某一列定义模糊,经过多次测试,终于得到解决。尤其是在涉及到tablename.*,这里的*很容易出现这样的错误。

            下面贴出我的代码:

           
   select a.id  id,
       a.resource_id  resourceId,
       a.resource_type resourceType,
       a.kpi_id kpiId,
       a.value value,
       a.create_date  createDate,
       a.status status,
       a.kpi_code  kpiCode,
       a.configid  configId,

       a.configid  configId,
       a.dateslot      dateslot,
       a.command_name  commandName  
  from RES_MNT_STORE_DATA a
 where a.id in (select max_id
                  from (select max(t.id) max_id, t.kpi_code kpi_code
                          from RES_MNT_STORE_DATA t
                         where t.resource_id = '66105'
                         group by t.kpi_code))

 

          发现木有?a.configid  configId,被重复写了两遍,这在数据里执行时没有问题,但因为需要与java的实体类保持一致,放在程序里就出错了。

你可能感兴趣的:(ORA-00918: column ambiguously defined解决之道)