SELECT (SELECT t.tqmc FROM dw_tq t WHERE t.tqbs=b.tqbs) 第一处,(SELECT y.mc FROM dw_yxbyq y WHERE y.tqbs=b.tqbs) 第二处
FROM fw_kfgdxx a,fw_tsywfjxx b
WHERE a.kfgzdbs=b.kfgzdbs
AND a.kfgzdbh='123456789000000'

解决方案 »

  1.   

    SELECT c.tqmc,d.mc 
    FROM fw_kfgdxx a,fw_tsywfjxx b,dw_tq c,dw_yxbyq d
    WHERE a.kfgzdbs=b.kfgzdbs
    AND a.kfgzdbh='123456789000000'
    and c.tqbs=b.tqbs
    and d.tqbs=b.tqbs
      

  2.   

    大概这样就可以如下..直接用update语句更新..
    update dw_tq
       set tqmc = '你要在第一处添加的内容'
     where exists (select 1
              from (select *
                      from FROM fw_kfgdxx a, fw_tsywfjxx b
                     WHERE a.kfgzdbs = b.kfgzdbs
                       AND a.kfgzdbh = '123456789000000') c
             WHERE c.tqbs = t.tqbs);
    update dw_yxbyq
       set mc = '你要在第二处添加的内容'
     where exists (select 1
              from (select *
                      from FROM fw_kfgdxx a, fw_tsywfjxx b
                     WHERE a.kfgzdbs = b.kfgzdbs
                       AND a.kfgzdbh = '123456789000000') c
             WHERE c.tqbs = t.tqbs);
      

  3.   

    这个好像不行,这个表查询出来的这列下面是空值,要想它添加。你看我发的图片,把我图片写的FOR UPDATE去掉。你再看看,谢谢啦!
      

  4.   


    --写个过程判断一下,在选择插入或更新;
    CREATE OR REPLACE procedure add_or_update(str1 VARCHAR2,str2 VARCHAR2,kfgzdbh VARCHAR2,as_log OUT VARCHAR2)
      IS
      vv_str1 VARCHAR2(20);
      vv_str2 VARCHAR2(20);
      BEGIN
        --得到值
        SELECT (SELECT t.tqmc FROM dw_tq t WHERE t.tqbs=b.tqbs),(SELECT y.mc FROM dw_yxbyq y WHERE y.tqbs=b.tqbs) 
        INTO vv_str1,vv_str2
    FROM fw_kfgdxx a,fw_tsywfjxx b
    WHERE a.kfgzdbs=b.kfgzdbs
    AND a.kfgzdbh=kfgzdbh; --fw_kfgdxx:传入123456789000000
        --判断
        IF vv_str1 IS NULL OR trim(vv_str1)='' THEN 
         INSERT INTO ;--插入对应的值
        ELSE
            UPDATE ; --更新对应的值
        END IF;
      end p_check_end;