【问题标题】:How to load data into another table [closed]如何将数据加载到另一个表中[关闭]
【发布时间】:2020-12-09 04:44:13
【问题描述】:

我有一个名为 t1 的大表,它有很多列(c1、c2、c3、c4、c5、c6、c7、c8、c9、c10)。

我有另一个名为 t2 的表,它只有 c1 列。

如何从 t2 填充此表?

我知道有一个命令叫做 CTAS。但这也会创建表。但是我只是想填充表t2和数据库中已经存在的t2表。

我想用所有不同的 t1.c1 填充 t2.c1。

【问题讨论】:

  • 您的预期结果是什么? t2 中的 10 行对应 t1 的一行,或者您只想用 t1.c1 填充 t2.c1?

标签: sql database postgresql amazon-redshift


【解决方案1】:

您可以在这里使用INSERT INTO ... SELECT

INSERT INTO t2 (c1)
SELECT DISTINCT c1
FROM t1;

但实际上,您可能还只是想创建一个视图,它从第一个表中返回所有不同的 c1 值:

CREATE VIEW c1_view AS
SELECT DISTINCT c1
FROM t1;

这避免了正式创建第二个表,也避免了第二个表中的c1 值随着第一个表中的数据变化而变得陈旧和过时的问题。

【讨论】:

    猜你喜欢
    • 2015-11-19
    • 2010-10-25
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多