Postgresql Postgres insert into select使一列为空,而填充其他列
我有一个包含一些每日记录的主表。我将一些包含聚合的列复制到一些月度聚合表AGG1、AGG2、AGG3中 最近创建了一个新的列类型smallint,它基本上是一个标志,只包含0和1。这被添加到所有表中,包括主表和聚合表 我只需要为2019年设置标志,表中的数据是几年。因此,它在所有表中都是可为空的字段。我用2019年的适当标志值更新了MAIN的所有行 然后我想将这个值传播回AGG表 当我从主表向所有聚合表运行Insert Into Select时,新列将保持null,而AGG1的每一列都将更新。新的smallint不会被复制 AGG2和AGG3已正确填充 由于聚合表是每月一次的,所以在插入新记录之前,我首先删除所有数据,比如一月的数据Postgresql Postgres insert into select使一列为空,而填充其他列,postgresql,select,sql-insert,Postgresql,Select,Sql Insert,我有一个包含一些每日记录的主表。我将一些包含聚合的列复制到一些月度聚合表AGG1、AGG2、AGG3中 最近创建了一个新的列类型smallint,它基本上是一个标志,只包含0和1。这被添加到所有表中,包括主表和聚合表 我只需要为2019年设置标志,表中的数据是几年。因此,它在所有表中都是可为空的字段。我用2019年的适当标志值更新了MAIN的所有行 然后我想将这个值传播回AGG表 当我从主表向所有聚合表运行Insert Into Select时,新列将保持null,而AGG1的每一列都将更新。新
编辑:忘了提及我以后可以更新此列,但这是不可能的,因为我不再有标志信息。最终创建了一个新表,并对所有值进行了cpied。有时,向旧表中添加新列可能会使其行为异常。最后,创建了一个新表并对所有值进行cpied。有时,向旧表中添加新列可能会使其行为异常。
INSERT INTO AGG1 (column1, column2, column3, ...)
SELECT column1, column2, column3, ... --some aggregates here
FROM MAIN
WHERE condition;