我目前正在使用该COALESCE
函数从字段列表中获取第一个 NOT NULL 值。例子:
COALESCE(header_to_node_13.subsetname, header_to_node_12.subsetname,
header_to_node_11.subsetname, header_to_node_10.subsetname,
header_to_node_9.subsetname, header_to_node_8.subsetname,
header_to_node_7.subsetname, header_to_node_6.subsetname,
header_to_node_5.subsetname, header_to_node_4.subsetname,
header_to_node_3.subsetname, header_to_node_2.subsetname,
header_to_node_1.subsetname,
header_to_node.subsetname, header_to_node.setname) AS prctr1
我需要修改逻辑,以便同时获取值右侧的COALESCE
值,以便可以比较这两个值以填充新创建的字段。
例如,如果COALESCE
值是header_to_node_5.subsetname
I need to grab header_to_node_4.subsetname
,那么两者可以在CASE
语句中使用。
如果第二个值 ( header_to_node_4.subsetname
) 为 NULL,我想要第一个值 ( header_to_node_5.subsetname
)。如果第二个值不为空,我想使用第二个值。
我对如何获取第二个值感到困惑。我正在使用 Greenplum/PostgreSQL 8.2