update yg2 inner join yg1 on yg1.xm=yg2.xm set yg2.hyh=yg1.hyh想加上条件yg1.tel=yg2.tel程序应该怎么写,update yg2 inner join yg1 on yg1.xm=yg2.xm,yg1.tel=yg2.tel set yg2.hyh=yg1.hyh
update yg2 inner join yg1 on yg1.xm=yg2.xm and yg1.tel=yg2.tel set yg2.hyh=yg1.hyh
update yg2 inner join yg1 on yg1.xm=yg2.xm set yg2.hyh=yg1.hyh where yg1.tel=yg2.tel
这3个都不对

解决方案 »

  1.   

    update yg2
    set yg2.hyh=yg1.hyh
    from yg2 inner join yg1 on yg1.xm=yg2.xm  and yg1.tel=yg2.tel
      

  2.   

    这是T-SQL的写法,不知道你用的是什么dbms
      

  3.   

    提示语法错误,操作符丢失没问题啊?你的是sqlserver?
      

  4.   

    UPDATE A
    SET A.hyh=B.hyh
    FROM yg2 AS A 
    JOIN yg1 AS B ON A.xm=B.xm
    WHERE A.tel=B.tel
      

  5.   

    你的这个条件是什么条件啊?可以是
    update yg2
    set yg2.hyh=yg1.hyh
    from yg2 inner join yg1 on yg1.xm=yg2.xm  and yg1.tel=yg2.tel
    也可以是
    update yg2
    set yg2.hyh=yg1.hyh
    from yg2 inner join yg1 on yg1.xm=yg2.xm  where yg1.tel=yg2.tel
      

  6.   

    where是筛选用的,on是关联用的。虽然inner join的时候没影响,但是还是要注意这点
      

  7.   

    楼主要注意两点
    1、update语句的正确写法
    2、where和on的区别