update a set name=name+(select b.name from b where b.id=a.id)修改完成后a表id=3的值为什么是空的

解决方案 »

  1.   


    他这个应该不是 oracle 的库。
      

  2.   


    他这个应该不是 oracle 的库。
    基本上就是有与null相加结果为空这样的特性吧
      

  3.   

    如果是ORACLE的数据库,可以试试这个。
    update a set name=(select nvl(a.name,'')||nvl(b.name,'') from b where b.id=a.id)
      

  4.   

    不是oracle的数据库吧,如果sqlserver可以用isnull或者加个exists的条件,只更新a表中能在b表能找到对应的id行
      

  5.   

    a等于3取到的值是null吧,不过按照理解应该是a=3的值不变把
      

  6.   

    update  b  set b.tname =b.tname||(select a.tname  from a where a.id =b.id );
    Oracle的应该是这样吧,直接name=的话,id=3还是为空的
      

  7.   

    null+一切=null
      

  8.   

    update a set name=name||(select b.name from b where b.id=a.id)
      

  9.   

    应该是null的问题