You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Northwind库多表关联国家字典表填充对应CountryID的操作咨询

Northwind数据库CountryID字段匹配更新操作步骤

首先默认你已创建的国家字典表名为country_dict,包含两个核心字段:

  • country_id:你分配的国家唯一ID主键
  • country_name:存储原4张表中提取的国家名称字符串

前置校验(必须先执行)

先排查待更新表中是否存在字典表未收录的国家,避免匹配遗漏,以Customers表为例执行:

SELECT DISTINCT Country 
FROM Customers 
WHERE Country NOT IN (SELECT country_name FROM country_dict);

如果返回结果,先将未收录的国家补充到country_dict表后再继续后续操作。


执行关联更新

根据你使用的数据库选择对应语法,剩余3张表替换表名重复执行即可:

MySQL/PostgreSQL 语法

UPDATE Customers c
INNER JOIN country_dict cd 
  ON c.Country = cd.country_name
SET c.CountryID = cd.country_id;

SQL Server/Access 语法

UPDATE Customers
SET CountryID = cd.country_id
FROM Customers c
INNER JOIN country_dict cd 
  ON c.Country = cd.country_name;

结果校验

更新后执行以下语句验证是否全部匹配成功:

SELECT COUNT(*) FROM Customers WHERE CountryID IS NULL;

返回结果为0即代表该表所有Country都匹配到了对应ID。


注意事项

  • 如果国家名称存在大小写不一致、前后空格的问题,可在关联条件中做标准化处理再匹配,示例:TRIM(UPPER(c.Country)) = TRIM(UPPER(cd.country_name))
  • 操作前建议先备份待更新的4张表,避免误操作导致数据丢失
  • 所有表校验无误后,再删除原有的Country字符串字段即可

内容的提问来源于stack exchange,提问作者Rafał Rymuza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:45:01