如何在SQL中的行中添加非空值

Mus*_*an 1 sql sql-server hana-sql-script

我有以下情况:

COL_1   COL_2   COL_3   COL_4   COL_5   COL_6   COL_7
5678      ?        ?       ?       ?       ?    ?
?        6789      ?       ?       ?       ?    ?
?         ?      1223      ?       ?       ?    ?
?         ?        ?      1223     ?       ?    ?
?         ?        ?       ?       1223    ?    ?
?         ?        ?       ?       ?       1223 ?
?         ?        ?       ?       ?       ?    12823
Run Code Online (Sandbox Code Playgroud)

我想要这个:

COL_1   COL_2   COL_3   COL_4   COL_5   COL_6   COL_7
5678    6789    1223    1223    1223    1223    12823
Run Code Online (Sandbox Code Playgroud)

我尝试使用COLAESCE()函数,但似乎没有将列作为参数.

Tan*_*ner 6

MAX()如果每行都有一个值,您可以在下面的所有列上使用:

CREATE TABLE #data
(
    col1 INT,
    col2 INT,
    col3 INT
);

INSERT INTO #data
(
    col1,
    col2,
    col3
)
VALUES
(1, NULL, NULL),
(NULL, 2, NULL),
(NULL, NULL, 3);

SELECT MAX(d.col1) AS col1,
       MAX(d.col2) AS col2,
       MAX(d.col3) AS col3
FROM #data AS d;

DROP TABLE #data;
Run Code Online (Sandbox Code Playgroud)