這是關於PostgreSQL中的COALESCE
的問題。在當前視圖我使用 COALESCE
搶在列表中的第NOT NULL
值:如何使用coalesce或變體來提取多個值?
COALESCE(vw_header_to_node_13.subsetname,
vw_header_to_node_12.subsetname,
vw_header_to_node_11.subsetname,
vw_header_to_node_10.subsetname,
vw_header_to_node_9.subsetname,
vw_header_to_node_8.subsetname,
vw_header_to_node_7.subsetname,
vw_header_to_node_6.subsetname,
vw_header_to_node_5.subsetname,
vw_header_to_node_4.subsetname,
vw_header_to_node_3.subsetname,
vw_header_to_node_2.subsetname,
vw_header_to_node_1.subsetname,
vw_header_to_node.subsetname,
vw_header_to_node.setname)
AS prctr1
我剛剛被告知,而不是抓住僅僅是第一NOT NULL
場,我現在需要搶第一NOT NULL
場以及第一個NOT NULL
字段後的以下2個字段。例如,如果vw_header_to_node_8.subsetname
是第一個NOT NULL
字段,我想要獲取vw_header_to_node_8.subsetname
,vw_header_to_node_7.subsetname
,& vw_header_to_node_6.subsetname
。我知道這不是COALESCE
正常工作的方式,但是有誰知道任何變化或方法可以實現這一點嗎?
是否有必要在SQL中執行此操作?你可以簡單地選擇所有這些值,並使用應用程序代碼來確定使用哪個值? – Aaron
第二個和第三個值可以爲零,或者零值應該排除在外? – klin
該列表是第二個和第三個值的方式不會爲空值。 – user3329160