我在MSsql中有这个表:
ID OP1 OP2 OP3 330 0 0 1 331 1 0 0 332 3 2 0
OP是可选的.可以从1到9,0意味着问题没有答案.
如何在“已回答”列中“汇总”,如下所示:
ID OP1 OP2 OP3 T 330 0 0 1 1 331 1 0 0 1 332 3 2 0 2
值大于0表示已回答.
我尝试使用CASE WHEN,IF语句.
解决方法
使用案例:
SELECT Id,OP1,OP2,OP3,(CASE WHEN OP1 > 0 THEN 1 ELSE 0 END + CASE WHEN OP2 > 0 THEN 1 ELSE 0 END + CASE WHEN Op3 > 0 THEN 1 ELSE 0 END) AS T FROM MyTable