sql - 如何使用另一个表中的数据更新列?- SQL Server 12.0.5
问题描述
我正在尝试使用表“SC_PROD”中的“custom_number_8”列中的数据更新表“SUS_WK”中的“效率”列。但我只希望它在满足某些要求时更新,例如表“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”。
但我希望该代码的结果会使用表“SC_PROD”中“custom_number_8”列中的数据更新“SUS_WK”中的“效率”列。
解决方案
你在正确的轨道上。只需使用表别名而不是表名:
UPDATE t
SET efficiency = p.custom_number_8
FROM SUS_WK t JOIN
SC_PROD p
ON t.id = p.id;
我强烈建议UPDATE
也使用表别名。SQL Server 会将表名解析为与t
-- 相同,但取决于这使得查询相当难以破译(因为对同一个表的引用具有不同的别名)。
推荐阅读
- amazon-web-services - 使用 AWS 网络负载均衡器进行统一均衡
- android - 重复获取数据
- axios - 未应用主机标头
- sharepoint - 我想知道如何将日期值设置为 Fluent UI datepicker sharepoint spfx react
- go - 是否可以在 Gin 服务器中处理客户端套接字事件关闭(基于 net/http 包)?
- javascript - 为什么我的计数器应用惰性效果 vuejs
- wordpress - 部落活动门票tribe_is_event() 始终为假
- python - 将第一行和最后一行保留在 Pandas 中存在子字符串的组中的最佳方法
- c++ - 无法使用 char 正确显示链表
- html - 模板继承在 Django 中不起作用