尝试在字符串字段上进行SQL表更新匹配

htm*_*11h 0 sql sql-server-2008 sql-server-2008r2-express

真的可以使用更新查询的一些帮助...(SQL Serer 2008 R2 Express)我有两个表,tblJPtblMaster.

我只有一个在两个表之间匹配的字符串字段.

tblJP AND tblMaster
Run Code Online (Sandbox Code Playgroud)

我需要更新tblJP.LangStringtblMaster.Long_text

tblJP.short_text = tblMaster.short_text AND tblMaster.Lang = 'jp'
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我正在旋转我的车轮尝试各种逻辑和语法,从创建临时表到其他类型的连接都没有运气.

Jam*_*ill 6

使用a的简单更新INNER JOIN应该可以解决问题.

UPDATE     tblJP
SET        tblJP.LangString = tblMaster.Long_Text
FROM       tblJP
INNER JOIN tblMaster ON tblMaster.alt_text = tblJP.short_text
WHERE      tblMaster.Lang = 'jp'
Run Code Online (Sandbox Code Playgroud)

警告:如果没有先针对开发服务器进行测试,就不要对生产服务器运行更新语句 - 尤其是当其他人编写SQL时.