请教一个UPDATE语句!!
表test1(f1,f2)   test2(f1,f2) 
 test1 
 f1      f2 
             a 
             b 
             c   
 test2 
 f1   f2 
 1      a 
 2      a 
 3      b 
 4      c 
 5      c   
 现在想更新test2中的f1字段值到test1中f1字段 
 当test1.f2=test2.f2时 
 但是   当test1.f2= 'a '时,对应test2中多条记录,此时不更新 
 最后结果: 
 test1 
 f1         f2 
                a 
 3            b 
                c     
 请问怎么写????
------解决方案--------------------update test1 
 set a.f1= b.f1 
 from test1 a ,test2 b 
 where a.f2 in (select f2 from test2 group by f2 having count(*)=1) and a.f2=b.f2
------解决方案----------------------但是 当Test1.f2= 'a '时,对应Test2中多条记录,此时不更新   
 --这里只针对= 'a ',还是针对所有的a、b、c   
 --针对所有的a、b、c,Test2中只有一条时,才跟新Test1的f1   
 update Test1 set f1= B.f1 
 from Test1 a  
     inner join Test2 b on A.f2=B.f2 
 where A.f2 in (select f2 from Test2 group by f2 having count(*)=1)   
------解决方案--------------------update test1   
 SET f1=isnull((select f1 from test2 a where a.f2=test1.f2 group by a.f2,f1), ' ') 
 where f2 in (select f2 from test2  group by f2 having count(*)=1)
------解决方案--------------------wangtiecheng(不知不为过,不学就是错)是OK的····
------解决方案--------------------update test1 
 set test1.f1=test2.f1 
 from test1,test2 where test2.f2 (select test1.f2 from test1) and test1.f2=teste1.f2