我有一个包含6个属性的表:
Att1 Att2 Att3 Att4 Att5 Total
Value Null Null Null Null 1
Null Value Null Null Null 1
Value Value Value Value Value 5
Null Null Value Value Value 3
我想要做的是检查每一行中有哪些属性有价值并更新“总计”'根据每行中有多少个值。就像我在上表中所示。
答案 0 :(得分:2)
这样的事情:
UPDATE TableName
SET total =
CASE WHEN Att1 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN Att2 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN Att3 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN Att4 IS NULL THEN 0 ELSE 1 END
+ CASE WHEN Att5 IS NULL THEN 0 ELSE 1 END