inner join 换成 where cola=colb形式
left join 换成 where cola=colb(+) 或 cola(+)=colb形式

解决方案 »

  1.   


    SELECT GJ_JYLS.JGH,GJ_JYLS.JYRQ,GJ_JYLS.LSH,GJ_JYLS.JYM,GG_XTDM_a.MC AS JYMMC,GJ_JYLS.DWDM,GJ_DWXX.DWMC,GJ_JYLS.GRSB,GJ_JYLS.GRZH,DA_GRJB.ZGXM,DA_GRJB.SFZH,GJ_JYLS.JYJE AS ZQJE,GJ_JYLS.LX AS ZQLX,GJ_JYLS.ZQFS ,GG_XTDM_b.MC AS ZQFSMC,GJ_JYLS.ZQYY ,GG_XTDM_c.MC AS ZQYYMC,GJ_JYLS.YHDM AS ZQYH,GG_XTDM_d.MC AS ZQYHMC,GJ_JYLS.GRZH2 AS PZHM,GJ_JYLS.RQ4 AS SHHM,GJ_JYLS.FHBJ AS FHBJ,GG_XTDM_e.MC AS FHBJMC,GJ_JYLS.MJYY AS RZBJ,GG_XTDM_f.MC AS RZBJMC,GJ_JYLS.FHRQ,GJ_JYLS.RQ AS ZFRQ,GJ_JYLS.RQ2 AS DYRQ, GJ_JYLS.CZY AS CZY,XT_CZYXX_a.CZY_QC AS CZYMC,GJ_JYLS.FHGY AS FHGY,XT_CZYXX_b.CZY_QC AS FHGYMC,GJ_JYLS.BZ2 from GJ_JYLS,GJ_DWXX,DA_GRJB,
    GG_XTDM GG_XTDM_a,GG_XTDM GG_XTDM_b,GG_XTDM GG_XTDM_c,
    GG_XTDM GG_XTDM_d,GG_XTDM GG_XTDM_e,GG_XTDM GG_XTDM_f, 
    GG_HZYHXX,
    XT_CZYXX XT_CZYXX_a,XT_CZYXX XT_CZYXX_bwhere GJ_JYLS.GRSB = DA_GRJB.GSBM AND
          GJ_JYLS.JYM=GG_XTDM_a.DM    AND
          GJ_JYLS.ZQFS=GG_XTDM_b.DM   AND
          GJ_JYLS.ZQYY=GG_XTDM_c.DM   AND 
          GJ_JYLS.YHDM=GG_HZYHXX.YHDM AND
          GG_HZYHXX.YHZM=GG_XTDM_d.DM AND
          GJ_JYLS.FHBJ=GG_XTDM_e.DM   AND
          GJ_JYLS.MJYY=GG_XTDM_f.DM   AND
          GJ_JYLS.CZY=XT_CZYXX_a.CZY_MC AND
          GJ_JYLS.FHGY=XT_CZYXX_b.CZY_MC(+) AND
          GJ_JYLS.JYM IN('301','302') AND  GG_XTDM_a.FLM='600' AND GG_XTDM_b.FLM='634' AND  GG_XTDM_c.FLM='633'  AND GG_XTDM_d.FLM='527'  AND  GG_XTDM_e.FLM='607' AND  GG_XTDM_f.FLM='637'  ORDER BY GJ_JYLS.RQ4,GJ_JYLS.LSH提示错误是 Lost communication With SQL server . Ora-03113;通信通道的文件结束.
    谢谢~~
      

  2.   

    看了一下,没什么问题
    Ora-03113;通信通道的文件结束 这个问题比较奇怪重新连接试一下
      

  3.   

    你的数据库版本是多少?在8i下曾经遇到如果表未做分析,过多的表连接造成oracle选择了错误的执行计划,执行很慢。最好是看看你的SQL执行计划。