【发布时间】:2022-01-05 10:31:23
【问题描述】:
我有两个表要合并,它们来自同一数据源,但我的理解是,在插入 Redshift 时列顺序很重要,它们的排序方式不同。
所以我有表 X 和 Y,如下所示:
表 X:
- column_a
- column_b
- column_c
- column_d
表 Y:
- column_c
- column_a
- column_b
我想将表 X 中的数据添加到它们的名称/类型匹配的表 Y 中,我会丢失 d 列并不重要。我一直在尝试使用 pg_get_cols 使用表 Y 中的列名列表从表 X 中进行选择,但 this answer 让我认为这是不可能的。
我有大约 200-300 个表对要像这样组合,所以我正在寻找一种解决方案,以避免不得不手动写出那么多次的列!
谢谢
【问题讨论】:
-
所以问题是当两个表都有很多列但顺序不同时获取公共列名?我想你可以查询像 f.e. 这样的系统视图。 SVV_COLUMNS
-
@LukStorms 是的,就是这样,特别是获取可用于选择匹配列的列表。
-
可能类似于this,但随后使用了redshift中可用的系统视图。
标签: sql amazon-web-services amazon-redshift