有如下表t1 
subject    doublesn  
gsy        001ok!   
gsy         null   
tianjin     003ok!   
tianjin      null   
hexi       005ok!   
hexi        null   
zhenming  null   更新doublesn字段 让subject相同的列具有相同的doublesn值,更新以后应该如下 subject    doublesn  
gsy         001ok!   
gsy         001ok!   
tianjin      003ok!   
tianjin      003ok!   
hexi        005ok!   
hexi        005ok!   
zhenming    null

解决方案 »

  1.   

    update t1 set t1.doublesn = (select doublesn from t1 t2 where t1.subject = t2.subject where doublesn <> 'null')
      

  2.   

    update t1 set t1.doublesn = (select doublesn from t1 t2 where t1.subject = t2.subject and t2.doublesn is not null) where doublesn is null
     未经测试
      

  3.   


    提示缺少右括号
    另,我是t1表自连接更新,你这个from t1 t2的写法是自动将t2作为t1看待了?
      

  4.   

    提示t2.double 无效的表示符
      

  5.   

    update t1 set t1.doublesn = (select doublesn from t1, t2 where t1.subject = t2.subject and t2.doublesn is not null) where doublesn is null
      

  6.   

    上述所有的t2表示是不是有问题,from后面自带t2,oracle就认为是自连接了?