如何通过从另一个表中具有相同id的行中的列中获取值来将值插入到连续行中的表的列中

时间:2015-07-20 17:22:55

标签: sql postgresql

在我的应用程序中,我使用PostgreSQL数据库。我有两个表,wc_content_definitionsimple_web_content。字段web_content_definition_idwc_content_definition表的主键,simple_web_content_idsimple_web_content的主键。我在名为simple_web_content的{​​{1}}中添加了字段,我希望在web_content_definition_id表中使用正确的值填充所有行中的此字段。 wc_content_definition表中名为web_content_id的列存储该行的wc_content_definition值,我尝试使用该值获取simple_web_content_id并将其值插入相应的行 web_content_definition_id表。我试图使用的查询是:

simple_web_content

我收到以下错误:

  

错误:缺少FROM-clause条目表" swc"   第3行:... simple_web_content_id = wcd.web_content_id)和swc.simple ......

     

错误   错误:缺少FROM-clause条目表#34; swc"   SQL状态:42P01   性格:209

我正在使用pg-admin工具执行查询

1 个答案:

答案 0 :(得分:0)

update simple_web_content 
set web_content_definition_id =  wcd.web_content_definition_id
from  wc_content_definition wcd 
WHERE simple_web_content_id = wcd.web_content_id 
AND simple_web_content_id <> 0 and wcd.web_content_id <> 0;

在您的查询中,表wc_content_definition无法在子查询之外引用。