SQL Server数据库 同时更新一个表的两列值,替换成其他表的两列值且保持对应关系不变?该如何操作
selectsysserialno,cserialno,*frommfsyscserialselectssn,csnfromtesteos把第二个表的对饮字段及其对饮关系...
select sysserialno,cserialno,* from mfsyscserial
select ssn,csn from testeos
把第二个表的对饮字段及其对饮关系赋值给上面表的相应字段 展开
select ssn,csn from testeos
把第二个表的对饮字段及其对饮关系赋值给上面表的相应字段 展开
5个回答
展开全部
可以使用以下语法来解决问题:
update 表1 set 赋值.... from 表1 关联 表2 on 表1与表2的关系
例如:
表:A,列:ID,val1,val2
表:B,列:ID,val3,val4
表A和表B是通过ID相互关联
1、想将表A中的val1,val2的值分别使用表B中的val3,val4代替,可以使用下面的语句:
Update a set a.val1=b.val3,a.val2=b.val4 from a inner join b on a.id=b.id
2、想将表A中ID=3的val1,val2的值分别使用表B中的val3,val4代替,可以使用下面的语句:
Update a set a.val1=b.val3,a.val2=b.val4 from a inner join b on a.id=b.id where a.id=3
展开全部
保持对应关系不变,修改的字段就不能是关联字段
要同时修改两列值使用:
update Table a
set a.字段1=新值,a.字段2=新值2
要用查询出来的值去修改:
declare @新值1 varchar(100)
declare @新值2 varchar(100)
select @新值1=a.字段,@新值2=a.字段2 from Table2 where .....
update Table a
set a.字段1=@新值1,a.字段2=@新值2
要同时修改两列值使用:
update Table a
set a.字段1=新值,a.字段2=新值2
要用查询出来的值去修改:
declare @新值1 varchar(100)
declare @新值2 varchar(100)
select @新值1=a.字段,@新值2=a.字段2 from Table2 where .....
update Table a
set a.字段1=@新值1,a.字段2=@新值2
更多追问追答
追问
hello,能不能帮我写成语句 我要先查询出来 再修改
select sysserialno,cserialno,* from mfsyscserial
select ssn,csn from testeos
用第二表的两个字段替换第一个表字段的值 ,谢谢~~
追答
declare @ssn varchar(100)
declare @csn varchar(100)
select @ssn=ssn,@csn=csn from testeos
update mfsyscserial
set sysserialno=@ssn,cserialno=@csn
--需要注意的是@ssn\ssn\sysserialno 的数据类型需要一致
--同理@csn\csn\cserialno的数据类型也需要一致
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两表有关联字段吗?形如
update mfsyscserial
set sysserialno=a.ssn,cserialno=a.csn
from testeos as a
where mfsyscserial.id=a.id
update mfsyscserial
set sysserialno=a.ssn,cserialno=a.csn
from testeos as a
where mfsyscserial.id=a.id
追问
我这个表是从Excel表中导入生成的,有关联字段
追答
这个无所谓,有关联字段就把关联字段替换掉where的条件就行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关系不明,对应字段不明。假设两表之间通过id字段关联,前表中的sysserialno,cserialno字段分别对应后表中的ssn,csn字段
update mfsyscserial
from mfsyscserial,testeos
set mfsyscserial.sysserialno=testeos.ssn,mfsyscserial.cserialno=testeos.csn
where mfsyscserial.id=testeos.id
update mfsyscserial
from mfsyscserial,testeos
set mfsyscserial.sysserialno=testeos.ssn,mfsyscserial.cserialno=testeos.csn
where mfsyscserial.id=testeos.id
追问
没有ID这个字段
追答
那就请给出关系中应该对应的字段 难道让答题者猜吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么意思,楼主请给字段给表,及其对应关系!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |