使用同一个表和字段中的两个SELECT进行INSERT但不同的位置

时间:2017-11-05 22:38:59

标签: postgresql

我有一个名为department (id, data1, data2, id_leader_one, id_leader_two)的表和另一个名为people (id, name, ...)列的表。

字段id_leader_oneid_leader_two在人员表(外键)中引用a id

我需要像这样的make insert子句

INSERT INTO department 
(id, data1, data2, (SELECT id FROM peoples WHERE name='xxx')
, (SELECT id FROM peoples WHERE name='xxx') 

但这不起作用。

2 个答案:

答案 0 :(得分:0)

你最后错过了一个括号。应该是。

  

INSERT INTO部门(id,data1,data2,(SELECT id FROM peoples   名称=' xxx'),(SELECT id FROM peoples WHERE name =' xxx'));

分号告诉psql引擎它是查询的结尾。 另外,请确保存在这些id记录,即它们在此查询之前插入。

答案 1 :(得分:0)

没错。有两个人姓名相同。解决。