我正在使用 SQL Server 2008 R2
我有一个复杂的查询,我需要一个有条件的求和列。
这是我的查询和结果的简化版本:
DECLARE @t TABLE (id int, condition int, value int);
INSERT INTO @t
VALUES (1,1,12), (2,0,88), (3,1,11)
SELECT
*,
(SELECT SUM(value) FROM @t WHERE condition = 1) as SumOfConditionalValues
FROM @t
这是此查询的结果"
id condition value SumOfConditionalValues
1 1 12 23
2 0 88 23
3 1 11 23
我买不起SumOfConditionalValues
子查询。
没有它有没有一种优雅的方法来实现条件求和列?
哪些聚合命令适用于此处(如果有),我该如何应用这些命令?