Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在postgresql中从另一个表的列中添加数据?_Postgresql - Fatal编程技术网

如何在postgresql中从另一个表的列中添加数据?

如何在postgresql中从另一个表的列中添加数据?,postgresql,Postgresql,我是postgresql的新手,需要做以下工作: 我有表1:id1整数,第1列时间戳,第2列时间戳,第3列时间戳 我有表2:id2 integer,column1 varchar,column2 numeric,column3 timestamp 我想将table2.column3中的数据附加到table1.column1中,而table1.id1(主键)应该自动递增。 table1.column2中的相应字段应获取实际时间的时间戳。 表1.3应保持为空。 没有链接表的公共字段。 此外,tabl

我是postgresql的新手,需要做以下工作:

我有表1:id1整数,第1列时间戳,第2列时间戳,第3列时间戳

我有表2:id2 integer,column1 varchar,column2 numeric,column3 timestamp

我想将table2.column3中的数据附加到table1.column1中,而table1.id1(主键)应该自动递增。 table1.column2中的相应字段应获取实际时间的时间戳。 表1.3应保持为空。
没有链接表的公共字段。 此外,table2.column3包含多个具有相同值的条目。但是,表1.1中不应存在重复值

我在网上做了很多研究,但没有发现类似的东西

我试过:

Insert into table1 (id1,column1,column2)
values ((id1).nextval),(select column3 from table2),now());
但是,它在select命令中给了我一个语法错误,我确信还有其他问题

有人能帮忙吗?我没有任何线索


Janet

您可以将insert与select查询相结合(这将为select查询的每个结果插入一条记录)。在您的示例中,它将是:

INSERT INTO table1 (column1,column2)
SELECT column3, NOW() from table2

注意:我省略了id列,因为它有一个默认值auto increment,默认情况下将被填充

您混乱的表名和列名让人很难理解。请发布两个表的一些样本数据和预期结果(见表2)。听起来好像你实际上是在寻找一个
更新
而不是
插入
语句。你的语句
没有链接表的公共字段
使得你的解决方案几乎不可能,除非你想用
表2
的所有注册表填充
表1
,而不需要任何角色!非常感谢您的快速回复。我会想办法绕过这个问题。这也是我首先想到的,但是“table1.column2中的相应字段应该获得实际时间的时间戳”这句话似乎表明确实需要某种更新。