select distinct(name),count(name) num  from t_col_desc  group by name; name  num 
a      1 
b      2 
c      3 select name,num from t_tbl_desc; name num 
a    

c 以上是select出来的两张数据表,结构与字段都一样,都只有两个字段,name,num ,两张表name字段值相同, 其中一个表num字段没有值,将令一个表中的num字段中的值批量更新到没有值的字段中,怎么做? 

解决方案 »

  1.   

    update t_tbl_desc 
    set num=b.name 
    from t_tbl_desc  a ,
    (
    select name,count(name) num  from t_col_desc  group by name
    )b
    where a.name=b.name
      

  2.   

    update 
      t_tbl_desc
    set 
      num=b.num
    from
      t_tbl_desc a,
      (select distinct(name) as name,count(name) num  from t_col_desc  group by name)b
    where
       a.name=b.name
    没必要发2遍
      

  3.   

    我用的oracle,没这样的语法-_-
      

  4.   

    update t_tbl_desc a set num=(select count(name) from t_col_desc b where a.name=b.name)