把你在sqlplus里面的执行语句的过程贴出来

解决方案 »

  1.   

    select * from ( select rownum as row_no,row_table_bounded.* from
     ( SELECT kanri.s_no, kanri.s_kin, kanri.sclo_dt, kanri.impdue_dt,
     kanri.cb_sts, kanri.unckin_total, kanri.cbkin_total, kessai1.comsekrnm_knj,
     kessai1.comsek_tel, kessai1.comsektanto_knj 
    FROM tmmkokyakukessai kessai2, tjnkzkaishukanri kanri, tmmkokyakukessai kessai1
     WHERE kessai2.comkaiten_cod = '130285' 
    AND kessai2.comtekiyostr_ymd <= 20100222 
    AND kessai2.comtekiyoend_ymd >= 20100222 
    AND kessai2.comunckyk_cod = '00' 
    AND kanri.setkyk_cd = (kessai2.comkykichiran_cod || kessai2.comkeikyk_cod || kessai2.comsekkyk_cod) 
    AND kanri.impdue_dt >= 20100123 AND kanri.impdue_dt <= 20100222 
    AND (SUBSTR(kanri.setkyk_cd,1,4) = kessai1.comkykichiran_cod
     AND SUBSTR(kanri.setkyk_cd,5,2) = kessai1.comkeikyk_cod 
    AND SUBSTR(kanri.setkyk_cd,7,2) = kessai1.comsekkyk_cod) 
    AND kessai1.comtekiyostr_ymd <= kanri.sclo_dt AND kessai1.comtekiyoend_ymd >= kanri.sclo_dt
     AND kessai1.comunckyk_cod = '00' AND kessai2.comkaitanto_cod = '0000006556' 
    AND (kanri.cb_sts = 0 OR kanri.cb_sts = 1) 
    ORDER BY kanri.impdue_dt, kessai1.comsekrnm_knj, kanri.s_no  ) row_table_bounded ) where row_no between 1 and 3000
      

  2.   

    就是上面这个sql的kanri.s_no这个值,数据库中这个字段最大值是15位,数据也是15位,可用上面这个sql查出来得值是45位。我们的要求不能用trim()取这个值。取tjnkzkaishukanri 表的数据长度都变成3倍了,可其它的表的数据正常! 
      

  3.   

    这句话中哪个字段的长度变了?
    desc 三个表,看看表结构
      

  4.   

    有那位高手帮我解决这个问题,我的msn是[email protected]。请加我讨论!!!
      

  5.   

    ORARichard大哥,有时间加小弟,帮帮小弟!!!