oracle clob去重复,当oracle clob类型不能和group by并用,但是需要去除多列重复

当oracle clob类型不能和groupby并用,但是需要去除多列重复,请不要急!

直接看SQL:

SELECT T.MEMBER,

T.HTEST,

T.ACCEPTDATE,

T.TASKMEMO,

T.ACCEPTER,

T.TASKID,

T.ACCEPTRESULT,

T.OVERHAULRESULT,

T.OVERHAULCONTENT,

T.EQUIPMENTID ,

T.TASKLEVEL,

T.LEADER,

T.TASKNAME,

T.BEGINDATE,

T.ENDDATE,

T.PIOCONTENT,

V.GUOLUNAME,V.FENLEINAME

FROM V_GL_6JI V,T_OVERHUALTASK_TASK T

WHERE T.EQUIPMENTID=V.FENLEIID AND T.TASKID = 10000039104 GROUP BY T.MEMBER,T.HTEST,

T.ACCEPTDATE,

T.TASKMEMO, T.ACCEPTER,

T.TASKID, T.ACCEPTRESULT,

T.OVERHAULRESULT, T.OVERHAULCONTENT,

T.EQUIPMENTID , T.TASKLEVEL,

T.LEADER, T.TASKNAME, T.BEGINDATE, T.ENDDATE,

T.PIOCONTENT,

V.GUOLUNAME,V.FENLEINAME

但是会报如下错

ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB

00932. 00000 -  "inconsistent datatypes: expected %s got%s"

*Cause:

*Action:

行 19 列 89 出错

解决办法,不用group by

Sql如下:

SELECT T.MEMBER,

T.HTEST,

T.ACCEPTDATE,

T.TASKMEMO,

T.ACCEPTER,

T.TASKID,

T.ACCEPTRESULT,

T.OVERHAULRESULT,

T.OVERHAULCONTENT,

T.EQUIPMENTID ,

T.TASKLEVEL,

T.LEADER,

T.TASKNAME,

T.BEGINDATE,

T.ENDDATE,

T.PIOCONTENT,

(select v.FENLEINAME fromV_GL_6JI v where v.FENLEIID= T.EQUIPMENTID group by v.FENLEINAME) asFENLEINAME,

(select v.GUOLUNAME fromV_GL_6JI v where v.FENLEIID= T.EQUIPMENTID group by v.GUOLUNAME) as GUOLUNAME

FROM T_OVERHUALTASK_TASK T

WHERE T.TASKID = 10000039104

办法虽然有点笨,但是可以解决问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值