【发布时间】:2025-11-29 07:35:01
【问题描述】:
很抱歉,如果这是一个非常基本的问题,我已经搜索了解决方案但找不到答案。我正在尝试复制一个表,然后根据一个公共列将三列连接到新表中。
我正在处理的主表是 master.alldata。我使用以下方法创建它的副本:
select * into personal.alldata FROM master.alldata;
alldata 有一个 PersonID 列,用作主密钥。
然后我想从另一个表thirdparty.moredata 添加三列。此表有一个 PersonID 列和三个数据列。我使用以下方法在主表中创建空间:
alter table personal.alldata
ADD data1 float;
(对 data2 和 data3 重复此操作)
最后我想将 data1、2 和 3 添加到主表中,匹配两个表中的 PersonID。我试过用这个:
INSERT into personal.alldata (data1, data2, data3)
SELECT moredata.data1, mordata.data2, moredata.data3
FROM thirdparty.moredata
INNER JOIN personal.alldata
ON alldata.PersonID = moredata.personid;
结果仍然在 data1、data2 和 data3 列中留下空值。我错过了什么?
【问题讨论】:
-
您是要
UPDATE添加的行还是添加新行?