2
如何將NULL
值替換爲以下NOT NULL
值(因此該列中的值的下一行爲NOT NULL
)?如何用下面的NOT NULL值替換NULL值? (SQL)
想象下表(點擊它):
a 100
b NULL
c 102
d NULL
e NULL
f 104
目標是,一個是100,b,c是102和d,E,F是104
我使用HANA
作爲數據庫。
此致敬禮。謝謝。
如何將NULL
值替換爲以下NOT NULL
值(因此該列中的值的下一行爲NOT NULL
)?如何用下面的NOT NULL值替換NULL值? (SQL)
想象下表(點擊它):
a 100
b NULL
c 102
d NULL
e NULL
f 104
目標是,一個是100,b,c是102和d,E,F是104
我使用HANA
作爲數據庫。
此致敬禮。謝謝。
我對HANA並不熟悉,但這個SQL非常通用且符合ANSI標準,所以它應該可以與大多數SQL引擎一起工作。一些更簡單的引擎不支持子查詢,但大多數應該。
SELECT
T1.col1,
COALESCE(T1.col2, T2.col2) AS col2
FROM
My_Table T1
LEFT OUTER JOIN My_Table T2 ON
T2.col1 =
(
SELECT MIN(T3.col1)
FROM My_Table T3
WHERE
T3.col1 > T1.col1 AND
T3.col2 IS NOT NULL
)
查詢的想法是,它JOIN
S上的表本身獲得下一個行(T2表的別名),無col2
一個NULL
值。
這個解決方案工作得很好。謝謝。 :) – PassioEtDesiderium
我們是否假設第一列的字母順序是決定數據順序的因素? –
@TomH:感謝您的更正。是的,你可以假設。 – PassioEtDesiderium