想把表B1中的B1字段赋值给表TB中的B1字段,我用了下面的命令,UPDATE TB SET B1=(SELECT B1 FROM B1)表B1中有记录,可是却提示:(0 行受影响)这是怎么回事,请大虾们帮帮忙,先谢谢!

解决方案 »

  1.   

    B1表中的B1字段和TB表中的B1字段的对应关系是什么?
      

  2.   


    create table m_name  (id int,name varchar(4))
    insert into m_name
    select 1,'张三' union all
    select 2,'李四' union all
    select 3,'王五'select * from m_name
    /*
    id          name
    ----------- ----
    1           张三
    2           李四
    3           王五
    */create table m_chengji  (name varchar(4),kemu int,chengji int,id sql_variant)
    insert into m_chengji
    select '张三',1,95,null union all
    select '张三',2,92,null union all
    select '张三',3,91,null union all
    select '李四',1,56,null union all
    select '李四',2,76,null union all
    select '李四',3,99,null union all
    select '王五',1,57,null union all
    select '王五',2,100,null union all
    select '王五',3,67,nullselect * from m_chengji
    /*
    name kemu        chengji     id
    ---- ----------- ----------- -----------
    张三   1           95          NULL
    张三   2           92          NULL
    张三   3           91          NULL
    李四   1           56          NULL
    李四   2           76          NULL
    李四   3           99          NULL
    王五   1           57          NULL
    王五   2           100         NULL
    王五   3           67          NULL
    */-- 更新m_chengji表的id为m_name中的id
    update m_chengji 
    set id = a.id from m_chengji b left join m_name a on a.[name]=b.[name]
      

  3.   

    UPDATE TB SET B1=(SELECT B1 FROM B1 a where b1.XXX 某关系 a.xxx )
    --应该有某个关联关系才可以的
      

  4.   

    update tb
    set b1 = b1.b1
    from tb , b1
    where tb.关键字 = b1.关键字