SQL Server数据库 同时更新一个表的两列值,替换成其他表的两列值且保持对应关系不变?该如何操作

selectsysserialno,cserialno,*frommfsyscserialselectssn,csnfromtesteos把第二个表的对饮字段及其对饮关系... select sysserialno,cserialno,* from mfsyscserial

select ssn,csn from testeos

把第二个表的对饮字段及其对饮关系赋值给上面表的相应字段
展开
 我来答
SQL的艺术
推荐于2017-09-19 · SQL写多了就会在追求极致
SQL的艺术
采纳数:2040 获赞数:3324

向TA提问 私信TA
展开全部

可以使用以下语法来解决问题:

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
wenyangitsir
推荐于2017-10-01 · TA获得超过120个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:99.7万
展开全部
保持对应关系不变,修改的字段就不能是关联字段

要同时修改两列值使用:
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的数据类型也需要一致
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2013-11-13 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5168万
展开全部
两表有关联字段吗?形如
update mfsyscserial
set sysserialno=a.ssn,cserialno=a.csn
from testeos as a
where mfsyscserial.id=a.id
追问
我这个表是从Excel表中导入生成的,有关联字段
追答
这个无所谓,有关联字段就把关联字段替换掉where的条件就行了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南潇酱d6aa2
2013-11-13 · TA获得超过343个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:49.8万
展开全部
关系不明,对应字段不明。假设两表之间通过id字段关联,前表中的sysserialno,cserialno字段分别对应后表中的ssn,csn字段
update mfsyscserial
from mfsyscserial,testeos
set mfsyscserial.sysserialno=testeos.ssn,mfsyscserial.cserialno=testeos.csn
where mfsyscserial.id=testeos.id
追问
没有ID这个字段
追答
那就请给出关系中应该对应的字段 难道让答题者猜吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hnhygkx1987
2013-11-13 · TA获得超过209个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:138万
展开全部
什么意思,楼主请给字段给表,及其对应关系!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式