合并中的内部查询以设置空值

inner query in coalesce to set null values

我是 postgres 的新手,我想将空字段设置为其他一些值。当我 运行 这个查询时,它工作正常:

SELECT COALESCE(Field,'xxx) from Table;

但是,我不想为所有这些字段设置 'xxx',而是想这样填写它们:

SELECT COALESCE(Field,select id from user where user.id = someOtherTable.id) from Table; 

在这一篇中,我在 select 附近遇到语法错误。

如何动态设置这些值?

你的问题不是很清楚,但你可能正在寻找这样的东西:

UPDATE mytable m
SET field = COALESCE(field, o.value)
FROM someothertable o
WHERE m.id = o.id;

正如@Abelisto 在评论中所说,内部查询周围的括号有效