有两个表  gl_cxjylsb_ls a , gl_zhdzb  e
a.ZHKHYBT = e.NBZH是匹配条件
       由于a表的sfzh有很多空值的情况,我想实现当sfzh不为空时就输出sfzh,为空值时,通过匹配条件输出e表中的zjhm来补充对应sfzh的值这样怎么实现啊啊

解决方案 »

  1.   


    如上图所示,当SFZH为空时,将ZJHM里的数据增加到对应的SFZH里面去
      

  2.   

    select  nvl(a.sfzh,e.zjhm) fromgl_cxjylsb_ls a, gl_zhdzb  e where a.ZHKHYBT = e.NBZH
      

  3.   

    select  nvl(a.sfzh,e.zjhm) from gl_cxjylsb_ls a, gl_zhdzb  e where a.ZHKHYBT = e.NBZH
      

  4.   

    select  nvl(a.sfzh,e.zjhm),a.ZHKHYBT from gl_cxjylsb_ls a left join gl_zhdzb  e on  a.ZHKHYBT = e.NBZH
      

  5.   

    UPDATE  A SET A.SFZH =(SELECT  SFZH FROM (SELECT SFZH,NBZH FROM B) T WHERE A.ZHKHYBT = T.NBZH) WHERE A.SFZH IS NULL
      

  6.   

    用nvl函数匹配空置,然后用子查询查出对应的表b的值