修改字段的问题
想把表B1中的B1字段赋值给表TB中的B1字段,我用了下面的命令,
UPDATE TB SET B1=(SELECT B1 FROM B1)
表B1中有记录,可是却提示:
(0 行受影响)
这是怎么回事,请大虾们帮帮忙,先谢谢!
[解决办法]
create table m_name (id int,name varchar(4))insert into m_nameselect 1,'张三' union allselect 2,'李四' union allselect 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_chengjiselect '张三',1,95,null union allselect '张三',2,92,null union allselect '张三',3,91,null union allselect '李四',1,56,null union allselect '李四',2,76,null union allselect '李四',3,99,null union allselect '王五',1,57,null union allselect '王五',2,100,null union allselect '王五',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中的idupdate m_chengji set id = a.id from m_chengji b left join m_name a on a.[name]=b.[name]
[解决办法]
UPDATE TB SET B1=(SELECT B1 FROM B1 a where b1.XXX 某关系 a.xxx )
--应该有某个关联关系才可以的
[解决办法]