经典sql(3)

描述:有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value

表B此处为tbaley的情况:      A: tablex

       

 

update tabley y set y.value=
(select x.value from tablex x where x.key1=y.key2)
where exists (select x.value from tablex x where x.key1=y.key2);

执行后:

 

2.如果A中存在多个呢,给位key最小的哪个value的值、

     

update tabley y set y.value=(
select min(x.value) from tablex x  where x.key1=y.key2 group by y.key2 )
where exists  (select 1 from tablex z where z.key1=y.key2);


select * from tablex;    

 

 

 

posted @ 2014-09-29 15:07  hansongjiang8  阅读(146)  评论(0编辑  收藏  举报