表A
  字段1         字段2
12AA3456
MMNNBBVV表B
  字段1         字段2
   AA3           好人
   NNB           数据   
-------------------------------------
所要的结果是
 表A
  字段1         字段2
12AA3456         好人
MMNNBBVV         数据所设想用SQL语句   UPDATE 表A set 字段2=(select top 1 mid(表1.字段1,3,3) from 表B)
但是这句是不对了。。提示错误 “操作必须是个可更新的查询“

解决方案 »

  1.   


    ---------------try
    update ta
    set ta.字段2=tb.字段2
    from ta,tb
    where mid(ta.字段1,3,3)=tb.字段1
      

  2.   

    二楼的朋友啊。。 不行 提示语法错误  (操作符丢失)‘tb.字段2
    from ta’中
      

  3.   


    select * 
    from ta,tb
    where mid(ta.字段1,3,3)=tb.字段1
    這樣有結果嗎?
    要是還有錯誤,那你到ACCESS版問吧.我對ACCESS不熟.
      

  4.   

    我在SQL帮助中   找到这句SQL  意思好意思差不多。。UPDATE titles
        SET ytd_sales = t.ytd_sales + s.qty
        FROM titles t, sales s
        WHERE t.title_id = s.title_id
      

  5.   

    楼主你注意修改1楼代码中的表名啊,不能直接复制过去。
    update 表1
    set 表1.字段2=表2.字段2
    from 表1,表2
    where mid(表1.字段1,3,3)=表2.字段1
    他后面给的SELECT 语句是让你测试用的,如果SELECT 没有报错,那UPDATE应该也不会报语法错误的。但是SELECT语句不会更新表1的数据,所以你看不到效果。