sqlserverupdate多个字段(可以通过⼀个⼦查询更新多字段)1、update 语句使⽤别名
我们通常的update语句是这样写的:
update table set coumn1 = value1 where column2 = "test";
如果我们想⽤别名的话,我们会这样去写:
update table t umn1 = value1 lumn2 = "test";
但是这样是会报错的,正确的写法是这样的:
update t lumn1 = value1 from table t lumn = 'test';
2、更新多个字段
我们都知道update 语句更新多个字段的写法是这样的:
update table set coumn1 = value1,coumn2 = value2  where column2 = "test";
或者
update t lumn1 = value1,t.column2 = value2 from table t lumn = 'test';
但是有这样的⼀个场景: 我们要更新的⼀个表的多个字段,这⼏个在字段的值都需要⼦查询来获得,且⼦查询的写法都是⼀样的,往往实现需要这样去写:
update table set coumn1 = (select value1 from tableb d lumn3= d.columnx),
coumn2 = (select value2 from tableb d lumn3= d.columnx)
where column2 = "test";
⼦查询都是⼀样的,我们却得写多次,所以我们可以这样去写:
update t umn1 = d.lum2 = d.value2
from table t
left join tableb d lumn3 = d.columnx
where  t.column2 = "test";
update是什么
以上写法和结论均在Microsoft SQL Server 2016 (SP1)上得出,如果有误,请帮忙指出,希望可以帮到你。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。