我有两个表,table1和table2,table1的字段为(table1_Id,table1_name,cp1_id),table2的字段为(table2_Id,table2_name,cp2_id),要写的sql语句是,把表table1中的table1_name=table2_name的所有记录的cp1_id值都改成对应的cp2_id值。

解决方案 »

  1.   

    update table1 set cp1_id=cp2_id
    from table1,table2
    where table1_name=table2_name
      

  2.   

    update t1
    set cp1_id=cp1_id2
    from 
    table1 t1
    join 
    table2 t2 on t1.table1_name=t2.table1_name2
      

  3.   

    UPDATE table1 SET
    table1.cp1_id = table2.cp2_id
    FROM table2
    WHERE table1.name = table2.name
      

  4.   

     update table1 set cp1_id = (select cp2_id from table2 where table2_name=table1_name)    
      

  5.   

    update t1 set t1.cp1_id=t2.cp2_id 
    from table1 t1 inner join table2 t2 
    on t1.table1_name=t2.table2_name
      

  6.   

    UPDATE table1 SET
        table1.cp1_id = table2.cp2_id
    FROM table1,table2
    WHERE table1.name = table2.name;
      

  7.   


    update table1 set cp1_id=b.cp2_id from table1 a,table2 b where a.table1_name=b.table2_name
      

  8.   

    update table1  
    set cp1_id=b.cp2_id
    from table1 a,table2 b
    where a.table1_name=b.table2_name
      

  9.   

    UPDATE table1 SET
        table1.cp1_id = table2.cp2_id
    FROM table1 join table2 on
     table1.name = table2.name
      

  10.   

    update t1 set t1.cp1_id=t2.cp2_id 
    from table1 t1 inner join table2 t2 
    on t1.table1_name=t2.table2_name
      

  11.   

    update t1 
    set cp1_id=cp1_id2 
    from 
    table1 t1 
    join 
    table2 t2 on t1.table1_name=t2.table1_name2
      

  12.   


    -----建表table1-----
    create table table1(table1_Id int,table1_name varchar(16),cp1_id int)
    -----建表table2-----
    create table table2(table2_Id int,table2_name varchar(16),cp2_id int)
    -----table1插入数据-------
    insert into table1 (table1_Id,table1_name,cp1_id) values(1,'姚',1)
    -----table2插入数据-------
    insert into table2 (table2_Id,table2_name,cp2_id) values(1,'姚',2)--------修改
    update a set a.cp1_Id=b.cp2_Id  from table1 a ,table2 b where a.table1_name=b.table2_name--------运行结果----
    table1 1,'姚',2
    table2 1,'姚',2