表1
 autoid name privince city area
1       张3  null    null  null
2       张4  null    null  null
3       张5  null    null  null
表2
 autoid privince city area
1       100000 101000 100010 
2      200000 201000 201010
3      300000 301000 301010
要求 修改表1里面的privince city area字段的值
表一和表2的autoid 是相同的 不知道怎么写sql语句

解决方案 »

  1.   

    update A from 表1 A,表2 B set A.privince=B.privince,A.city=B.city,A.area=B.area
    where A=autoid=B.autoid 
      

  2.   

    不行 关键字 'from' 附近有语法错误。
      

  3.   

    update A set A.privince=B.privince,A.city=B.city,A.area=B.area
    from 表1 A,表2 B 
    where A=autoid=B.autoid 
      

  4.   

    update tb1
    set privince = n.privince,
        city     = n.city,
        area     = n.area
    from tb1 m ,tb2 n
    where m.autoid = n.autoid
      

  5.   

    sorry
    update A set A.privince=B.privince,A.city=B.city,A.area=B.area
    from 表1 A,表2 B
    where A.autoid=B.autoid 
      

  6.   

    update A from 表1 A,表2 B set A.privince=B.privince,A.city=B.city,A.area=B.area
    where A.autoid=B.autoid 
      

  7.   

    create table tb1(autoid int,name varchar(10),privince varchar(10),city varchar(10),area varchar(10))
    insert into tb1 values(1 ,'张3', null, null ,null)
    insert into tb1 values(2 ,'张4', null, null ,null)
    insert into tb1 values(3 ,'张5', null, null ,null)
    create table tb2(autoid int,privince varchar(10),city varchar(10),area varchar(10))
    insert into tb2 values(1 ,'100000', '101000' ,'100010')
    insert into tb2 values(2 ,'200000', '201000' ,'201010')
    insert into tb2 values(3 ,'300000', '301000' ,'301010')
    goupdate tb1
    set privince = n.privince,
      city = n.city,
      area = n.area
    from tb1 m ,tb2 n
    where m.autoid = n.autoid 
     
    select * from tb1drop table tb1,tb2/*
    autoid      name       privince   city       area       
    ----------- ---------- ---------- ---------- ---------- 
    1           张3         100000     101000     100010
    2           张4         200000     201000     201010
    3           张5         300000     301000     301010(所影响的行数为 3 行)
    */