SQLServer从其他表获取的数据更新该表的一部分
在网上常见的是update a set username = username FROM b on a.userid=b.userid,该更新语句是对a表中所有行进行更新。如果只更新一部分用户的用户名呢?
那就应该这样写:
update a set username=( select b.username from b where b.year=2019 ) where a.year=2018
这样就可以从b表中查询2019年的用户,对a表中2018年的用户进行更新,而不会更新a表中的所有的数据。