sql - SQL Server中带有条件的行总和
问题描述
我正在尝试在 SQL 中创建行总和,但逻辑有些复杂。例如,我正在尝试使用下表创建一个逻辑,以便
- 如果 A >0 且 B > 1,则总和 = A + 2* C + D
- 否则,如果 A = 0 且 B > 1,则总和 = B + D
- 否则,如果 A = 0 且 B <= 1,则总和 = B + C
- 否则,如果 A >0 且 B <= 1,则总和 = 2*A + B + C + D
在 SQL Server 中创建这样的逻辑的最佳方法是什么?
谢谢!
解决方案
尝试使用这个:
SELECT MySum = CASE WHEN A > 0 AND B > 1 THEN A + 2 * C + D
WHEN A = 0 AND B > 1 THEN B + D
WHEN A = 0 AND B <= 1 THEN B + C
WHEN A > 0 AND B <= 1 THEN 2 * A + B + C + D
END
FROM T
推荐阅读
- matplotlib - 有没有办法将 matplotlib 图表保存为 tkinter 中的文件
- .net - 在.NET 中解析作为不带括号的JSON 对象序列的文本(没有根对象)?
- python - 如何进行自定义的 torchvision 变换?
- date - 试图在 Big Query 中获取前几天的数据,而不是过去 24 小时的数据。之前的日期:GETDATE()-1
- debugging - ptrace 卡在 waitpid 上
- javascript - 没有时间的长格式日期
- igor - Igor Pro,如何创建一个连接多个输入文本波且没有重复的文本波
- python - 如何通过函数迭代结构两次,但每次使用不同的参数,而不在 python 中使用两个 for 循环?
- video-streaming - 感兴趣区域和视口之间的差异
- python - 未找到 Urllib2 模块