这是正常的呀。
你的记录指针都没有向下跳,停留在第一条记录上,所以只将bc1表中的所有行的bc1.cp_order都替换成了hb_cjhb表中hb_cjhb.sqbh字段的第一行的值
你只有使用循环的方法来更新数据

解决方案 »

  1.   

    update bc1 set bc1.cp_order=hb_cjhb.sqbh 
    from bc1 inner join hb_cjhb on bc1.sse_ref=hb_cjhb.cjbh
      

  2.   

    try (did not test, so there might be oversight):update bc1 
    set bc1.cp_order=hb_cjhb.sqbh 
    from bc1,  hb_cjhb
    where bc1.sse_ref=hb_cjhb.cjbh
      

  3.   

    分先不能给,因为我是在Foxpro下实现的,不是在SQL Server中
    我再想想办法,如果不行的话就给分了。
      

  4.   

    update bc1 set bc1.cp_order=hb_cjhb.sqbh  where bc1.sse_ref in (Select hb_cjhb.cjbh From hb_cjhb)这样试一下。
      

  5.   

    如果是foxpro可以这样试:select hb_cjhb
    *设置索引
    set order to sqbh
    select bc1
    *设置关连
    set relation to sse_ref into hb_cjhb
    replace all cp_order with hb_cjhb.sqbh