使用SQL Server 2014,如何使用另一个表中的值替换表中的值(需要编码)。
我有两张桌子:
Coo数据表800记录(有拼写错误的国家/地区名称或其他信息)
id response
--------------------------
1 Saudi
2 Honderas born 1992
3 Argentina%
4 Ecuadar
国家/地区表56记录(正确的国家/地区名称)
Country
----------------------
Saudi Arabia
Honduras
Argentina
Ecuador
所以我试着只使用前4个字符
SELECT LEFT(country, 4) AS Short4
FROM Countries;
输出:
Short4
--------
saud
Hond
arge
Ecua
所以我想要的是 如果“响应列”中的任何值包含“short4列”,则将其替换为“country column”
中的值所需表:在响应列中应该只包含正确的国家/地区名称,而不包含任何其他值
id response
------------------
1 Saudi Arabia
2 Honduras
3 Argentina
4 Ecuador
答案 0 :(得分:0)
这很奇怪。我想你是在寻找:
speed_test
显然有些地方不起作用 - 比如" USA"在国家名称为#34;美利坚合众国"。
的回复中答案 1 :(得分:0)
以下查询应匹配4个字符的表格,如果匹配则更新Coo表格中的响应字段。
UPDATE Coo
SET Response = c.Country
FROM Coo x
JOIN Countries c ON x.Response LIKE '%'+LEFT(c.Country,4)+'%'