sql-server - SQL 从第一个表中选择行并更新到第二个表

标签 sql-server t-sql select

我有两个表,tblCitytblCountry,目前它们之间没有关系。我需要将 tblCountry 中的 CountryId 添加到 tblCity 中。

这是tblCity:

tblCity

这是tblCountry:

tblCountry

我需要使用相应的tblCountry.CountryId更新tblCity.CountryId(目前为NULL)

我在两个表中都有 ISO2ISO3 国家/地区代码,因此请帮助我选择和更新 SQL Server 查询。

最佳答案

此语句将匹配 ISO2 和 ISO3 列以进行更新:

UPDATE
    ci
SET
    ci.CountryId = co.CountryId
FROM
    tblCity ci
JOIN
    tblCountry co
    ON
    ci.ISO2 = co.CountryISO2
    AND
    ci.ISO3 = co.CountryISO3
WHERE
    ci.CountryId IS NULL

关于sql-server - SQL 从第一个表中选择行并更新到第二个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48053269/

相关文章:

sql-server - 如何在列上添加 HIDDEN 属性?

sql-server - 有关 Azure SQL 数据仓库的 SQL Server 存储过程性能调整的建议

xml - Sql Server 中的东西和 'For Xml Path'

MySQL - 在一列上使用 MAX() 并从该行的其余部分返回数据?

java - 选择多个双面

mysql - sql,FROM中同一个表的多个实例

sql-server - 如何在 SQL Server 2014 中将一个字段的结果拆分为两个单独的字段

sql - TSQL - 如何进行 URL 编码

sql-server - 如何调用返回表数据类型的用户定义函数

mysql - 如何查找表中的重复数据