计算mssql中各列的出现次数

问题描述 投票:0回答:1

我想根据多列中值的出现来更新一列。

MS SQL Server 2017架构设置:

CREATE TABLE Table1 (Part varchar(10),Jan int,Feb int,Mar int,Apr int,Occurrences int)

INSERT INTO Table1 (Part,Jan,Feb,Mar,Apr,Occurrences)VALUES('AAA',null,2,null,1,null),
                                                ('BBB',2,3,5,7,null),
                                                ('CCC',3,null,null,null,null),
                                                ('DDD',4,7,1,null,null)

我想基于Jan,Feb,Mar,Apr列中存在的值来更新Occurrences列。它应该跳过空出现,仅在值存在时计数。对于上述架构,出现次数列应更新为

enter image description here

我该如何实现?请帮忙,因为我是SQL新手。

谢谢

sql-server count find-occurrences
1个回答
0
投票
尝试一下:

Update Table1 set Occurrences = ISNUMERIC(jan) + ISNUMERIC(feb) + ISNUMERIC(mar) + ISNUMERIC(apr)

© www.soinside.com 2019 - 2024. All rights reserved.