日期:2014-05-16  浏览次数:20985 次

wangtiecheng兄再请帮个忙:上次的问题没解决完
分析一个很大的数据库,原始数据里面一些缩写很混乱,需要统一起来。

建立了一个需要替换的缩写的表A,有近150行,两列,第一列是可能的错误缩写,第二行是相应的正确缩写。需要在另一个很大的表B里面查找替换。

根据朋友们的建议,写了一个sql,   是这样的:
UPDATE   B
SET   B.DATA   =   (SELECT   A.Journal_Corr   FROM   A,   B   where   B.DATA   =   A.Mismatching_Abbreviations);

结果总是没法运行,弹出的窗口说是:Operation   must   use   an   updatable   query.   (Error   3073)。怎么检查也检查不出来错误,请wangtiecheng兄帮忙看一看。谢谢!

------解决方案--------------------
UPDATE B,a
SET B.DATA = A.Journal_Corr where B.DATA = A.Mismatching_Abbreviations
------解决方案--------------------
UPDATE B inner join A on B.DATA = A.Mismatching_Abbreviations
SET B.DATA = A.Journal_Corr