Redshift:将表T1的C1列插入表T2的C2列

时间:2017-02-07 12:37:38

标签: amazon-web-services amazon-redshift

我有两张桌子:

T1A1, A2, A3, A4,...., A20

T2

B1, B2, B3,...., B15. 所有列的数据类型均为varchar

我想将列范围A1-A10的所有值复制到B1-B10。我怎么在Redshift中这样做?我试过了: insert into T2(B1,B2,...,B10) select A1 A2 A3 ... A10 from T1 但它失败了。我在列名中更正了丢失的错误,(点)。

如何将所选列从一个表插入另一个表?还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

您需要insert into T2 (select A1, A2 ... A10 from T1)

我测试了以下查询,并且对我来说工作正常:

create temp table T1 (a varchar(5), b varchar(5), c varchar(5), d varchar(5), e varchar(5));
insert into T1 values ('t11', 't12', 't13', 't14', 't15');
create temp table T2 (a varchar(5), b varchar(5), c varchar(5));
insert into T2 values ('t21', 't22', 't23');
insert into T2 (select a, b, c from T1);

select * from T2;

最后一行正确印刷了以下内容:

t21 t22 t23
t11 t12 t13