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

如何在表中新增取值来自另一张表的列?对应SQL语法如何编写?

实现语法说明
  • 前置条件:Table A和Table B存在共同关联字段(通常是product_id类字段,为Table B的主键,Table A中存储对应值)

步骤1:在Table A中新增productname字段

执行以下SQL新增字段,字段类型、长度需和Table B的productname字段完全一致:

ALTER TABLE TableA
ADD COLUMN productname VARCHAR(255); -- 请根据实际字段类型修改括号内参数

步骤2:关联Table B更新Table A的productname取值

不同数据库的更新语法略有差异,对应示例如下:

MySQL 写法

UPDATE TableA a
INNER JOIN TableB b ON a.product_id = b.product_id -- 替换为实际的关联字段名
SET a.productname = b.productname;

PostgreSQL / SQL Server 写法

UPDATE TableA a
SET productname = b.productname
FROM TableB b
WHERE a.product_id = b.product_id; -- 替换为实际的关联字段名

Oracle 写法

UPDATE TableA a
SET productname = (SELECT b.productname FROM TableB b WHERE a.product_id = b.product_id)
WHERE EXISTS (SELECT 1 FROM TableB b WHERE a.product_id = b.product_id);

补充说明:如果需要保证两个表的productname永远同步,不建议冗余存储该字段,查询时直接关联Table B获取即可;如果确实需要存储,可以额外添加触发器实现更新同步。

内容的提问来源于stack exchange,提问作者Dita Mariessa Izza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:57:00