• 当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

     

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


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

  • 相关阅读:
    iOS总结_UI层自我复习总结
    runtime梳理。
    页面传值。顺传,逆传。
    用1 + 2 = 3诠释面向对象思想
    循环逻辑。让我逻辑滞空的小题目
    const,static,extern 简介
    swift webView的高度自适应内容
    Swift之UITabBarController 导航控制器颜色的改变
    swift 启动图片的设置
    swift 中使用OC第三方库(以AFNetworking为例)
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4613986.html
Copyright © 2020-2023  润新知