尝试创建一个计算列,该列的值基于其他四个列中的值。 第 1 列、第 2 列、第 3 列、第 4 列可以是"is"或“否” 计算列中的最终结果(假设称为“进度”)应该是这样的:
Progress = CASE
WHEN [Column1] = 'Yes' THEN Value+1
WHEN [Column2] = 'Yes' THEN Value+1
WHEN [Column3] = 'Yes' THEN Value+1
WHEN [Column4] = 'Yes' THEN Value+1
ELSE 0 END
希望这是有道理的,因为显然上述语法不正确。
最佳答案
听起来这就是您想要的。
Progress =
CASE WHEN [Column1] = 'Yes' THEN 1 ELSE 0 END +
CASE WHEN [Column2] = 'Yes' THEN 1 ELSE 0 END +
CASE WHEN [Column3] = 'Yes' THEN 1 ELSE 0 END +
CASE WHEN [Column4] = 'Yes' THEN 1 ELSE 0 END
对于每个"is",这将返回 0 + 1。
关于用于递增值的 SQL Case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155462/