繁体   English   中英

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

[英]how to insert values into a column of a table in successive rows by fetching values from a column in a row with a same id in another table

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

update simple_web_content set web_content_definition_id = (select 
wcd.web_content_definition_id from  wc_content_definition wcd, 
simple_web_content swc where  simple_web_content_id = wcd.web_content_id ) 
and swc.simple_web_content_id <> 0 and wcd.web_content_id <> 0;

我收到以下错误:

错误:表“ swc”第3行缺少FROM子句条目:... simple_web_content_id = wcd.web_content_id)和swc.simple ...

错误错误:缺少表“ swc”的FROM子句条目SQL状态:42P01字符:209

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM