ORA-00918: column ambiguously defined解决之道

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

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

            下面贴出我的代码:

            <sql-query name="queryStoreByRes">
   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))
</sql-query>

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值