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

Posted

技术标签:

【中文标题】合并中的内部查询以设置空值【英文标题】:inner query in coalesce to set null values 【发布时间】:2016-10-21 09:08:57 【问题描述】:

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

SELECT COALESCE(Field,'xxx) from Table;

但是,我不想让所有这些字段都使用“xxx”,而是像这样填写它们:

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

在这一个中,我在选择附近遇到语法错误。

如何动态设置这些值?

【问题讨论】:

括号:SELECT COALESCE(Field, (select id from user where user.id = someOtherTable.id)) from Table; 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于合并中的内部查询以设置空值的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 在所有值中添加空值

Python中的多参数空合并和内置“或”函数

使用SQL查找多列行中的最小值

SQL DataReader 如何显示查询中的空值

PL/SQL查询中的空值问题

合并两行替换pivot中的空值