ATo*_*oya 24 sql t-sql sql-server select
我有一个包含4列的表,在第5列中,我想存储前4个中有多少个非空列的计数.例如:
其中X是任何值:
Column1 | Column2 | Column3 | Column4 | Count
X | X | NULL | X | 3
NULL | NULL | X | X | 2
NULL | NULL | NULL | NULL | 0
Run Code Online (Sandbox Code Playgroud)
Rom*_*kar 36
select
T.Column1,
T.Column2,
T.Column3,
T.Column4,
(
select count(*)
from (values (T.Column1), (T.Column2), (T.Column3), (T.Column4)) as v(col)
where v.col is not null
) as Column5
from Table1 as T
Run Code Online (Sandbox Code Playgroud)
Gia*_*los 15
SELECT Column1,
Column2,
Column3,
Column4,
CASE WHEN Column1 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN Column2 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN Column3 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN Column4 IS NOT NULL THEN 1 ELSE 0 END AS Column5
FROM Table
Run Code Online (Sandbox Code Playgroud)