2016-11-07 62 views
1

我需要在其中引用另一个表中的id字段的字段。 id字段它是去旁边的现场“测试”(列 - codedescription,表typecategory)和ID字段来字旁“评估”(列categorydescription,表typecategory)将单个字段插入表中,引用另一个表

INSERT INTO codetype 
(typecategoryid) 
Where codedescription='test' 
SELECT id FROM typecategory WHERE categorydescription='Assessment Types' 

有很多插入整列的例子,但没有人写过如何从另一个表中插入单个字段。

表 - CODETYPE ID BIGSERIAL主键 codedescription VARCHAR
typecategoryid BIGINT外键typecatogory上的ID列

表 - typecategory ID大系列主键 categorydescription VARCHAR

+0

是否使用的是RDBMS?当你运行这个脚本时会发生什么?你是否遇到了错误,或者只是不是你期望的结果? – CGritton

+0

要澄清一下,您正在尝试在填充它的同时创建“typecategoryid”字段? – CGritton

+0

我正在使用postgres。有一个包含大量信息的列typecategoryid。我需要从一个不同的表中填充最后三个字段(类型) –

回答

0

如果列已经存在并且表中其余列中已经有记录,那么您需要UPDATE声明,而不是INSERT

貌似这篇文章可以帮助你:Update a column of a table with a column of another table in PostgreSQL

也许

UPDATE codetype c 
SET c.typecategoryid = t.id 
FROM typecategory t 
WHERE c.codedescription = 'test' and t.categorydescription='Assessment Types' 
+0

UPDATE CODETYPE (typecategoryid) WHERE codedescription = '测试' SET typecategor.id = codetype.typecategoryid WHERE typecategoryid = 4 ??? –

+0

对不起。我不知道如何格式化评论 –

+0

我感谢您的帮助。非常感谢你。 –

相关问题