从多个列中选择一个值,并在Oracle SQL Developer中使用所选值创建一个新列

从多个列中选择一个值,并在Oracle SQL Developer中使用所选值创建一个新列,sql,oracle,null,Sql,Oracle,Null,我正在尝试构建一个SQL查询,在其中创建一个新列,其中包含来自多个列的选定值。列的行都是空的,只有一行是要放入新列中的所需值。 一个例子如下: 谢谢大家! 正如jarlh迅速评论的那样,您可以使用coalesce(): 对于每一行,coalesce()按赋予函数的顺序依次检查每一列的值,并返回第一个非空值。从表中选择coalesce(c1、c2、c3) select coalesce(substration_fk1, substration_fk2, substration_fk3) res

我正在尝试构建一个SQL查询,在其中创建一个新列,其中包含来自多个列的选定值。列的行都是空的,只有一行是要放入新列中的所需值。 一个例子如下:


谢谢大家!

正如jarlh迅速评论的那样,您可以使用
coalesce()

对于每一行,
coalesce()
按赋予函数的顺序依次检查每一列的值,并返回第一个非空值。

从表中选择coalesce(c1、c2、c3)
select coalesce(substration_fk1, substration_fk2, substration_fk3) res
from mytable