【发布时间】:2018-11-14 13:51:50
【问题描述】:
样本数据:
如果两列匹配,我正在尝试使用另一个表中多列的值更新一列。
考虑以下查询:
UPDATE application_table
SET asset_list = asset_table.asset_name
FROM asset_table
WHERE application_table.application_name = asset_table.applications;
我的表结构是:
application_table:
"asset_list"; "text[]"
"application_name"; "character varying"
asset_table:
"asset_name"; "character varying"
"applications"; "character varying"
我收到以下错误:
ERROR: column "asset_list" is of type text[] but expression is of type character varying
Line 12 SET asset_list = asset_table.asset_name
【问题讨论】:
-
它告诉我我需要转换数据,我不确定执行此操作的正确语法。
-
由于
asset_list是一个数组,您是要尝试将asset_table.asset_name添加到数组中,还是用仅包含该值的新数组覆盖任何现有值? -
@eurotrash,我想覆盖。我想将此设置为一项工作,以不断检查asset_table并添加任何新的asset_name,如果它们被分配了匹配的应用程序。
标签: postgresql sql-update