zoukankan      html  css  js  c++  java
  • 当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

     

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


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

  • 相关阅读:
    poj 3096 Surprising Strings (set)
    hdu 4038 stone
    STL set 使用总结
    poj 3185 The Water Bowls (bfs 加未压缩)
    QPixmap显示图片
    addStretch的作用 .
    Qt SizeHint()
    StyleSheet
    linux编程守护进程编写
    Qt样式表的使用
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4613986.html
Copyright © 2011-2022 走看看