You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于另一张表的列更新TableA中Code列的SQL技术问题

解决TableA Code列更新为TableB对应带描述值的问题

需求说明

需要将TableA的Code列,更新为TableB中相同Member_ID对应的带描述的Code值(例如101: Leg这类格式)。

原SQL问题分析

你提供的SQL语句错误地对TableB的Code做了纯数字截取,这和需求完全相反,所以无法得到带描述的目标值:

UPDATE TableA
SET code = SUBSTRING(TableB.code, 1, PATINDEX('%[^0-9]%', TableB.code+'X')-1)
FROM TableA
JOIN TableB
ON TableA.Member_ID = TableB.Member_ID

正确SQL语句

直接将TableB中对应Member_ID的完整Code值赋值给TableA即可:

UPDATE TableA
SET code = TableB.code
FROM TableA
INNER JOIN TableB
ON TableA.Member_ID = TableB.Member_ID

补充说明

如果需要仅更新TableA中存在匹配Member_ID的行,上述INNER JOIN已经满足;如果要处理TableA中无匹配的行(比如设为NULL或其他默认值),可以改用LEFT JOIN并添加条件:

UPDATE TableA
SET code = CASE WHEN TableB.code IS NOT NULL THEN TableB.code ELSE NULL END
FROM TableA
LEFT JOIN TableB
ON TableA.Member_ID = TableB.Member_ID

内容的提问来源于stack exchange,提问作者Brockytoosocky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:01:00