当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

 

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/shipeng22022/p/4613986.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值