我正在尝试用表"SUS_WK“中的"custom_number_8”列"SC_PROD“中的数据更新表”SC_PROD“中的列”效率“。但是,我只希望它在满足某些要求的情况下更新,例如表"SUS_WK“中的"ID”与表"SC_PROD“中的"ID”匹配。
我该怎么做?
我试过这样做:
UPDATE SUS_WK
SET efficiency = SC_PROD.custom_number_8
FROM SUS_WK t
JOIN SC_PROD p
ON t.id = p.id当我尝试上面的代码时,我得到以下错误:
多部分标识符"SC_PROD_PLAN_PLND.custom_number_8“无法绑定。
但是,我希望该代码的结果将用表"SUS_WK“中的"custom_number_8”列中的数据更新"SC_PROD“中的列”效率“。
发布于 2019-06-07 15:49:41
你走在正确的轨道上。只需使用表别名而不是表名:
UPDATE t
SET efficiency = p.custom_number_8
FROM SUS_WK t JOIN
SC_PROD p
ON t.id = p.id;我强烈建议为UPDATE使用表别名。Server会将表名解析为与t相同的表名--但取决于此,查询很难破译(因为对同一表的引用有不同的别名)。
https://stackoverflow.com/questions/56497620
复制相似问题