sql 服务器 2008 r2 - 多列,每列都有因变量的总和

sql server 2008 r2 - multiple columns each with sum on dependent variable

我正在尝试创建一个查询,该查询将在指定时间范围内对美元金额求和并按各种因素分组。为了清楚起见,我尽可能地删除了 table,但实际上有 20 个代码 1、50 个代码 2 和 15 个标识符(每个标识符都有自己的结果列)

table t

code1      code2     date          identifier     dollars
A          a         11/22/18          1             3
B          a         11/23/18          1             4
A          b         11/24/18          1             5
B          b         11/25/18          1             6
A          a         11/22/18          2             7
B          a         11/23/18          2             8
A          b         11/24/18          2             9
B          b         11/25/18          2             10

期望的输出

code1    code2     identifier1_sum     identifier2_sum
A        a         3                   7
B        a         4                   8
A        b         5                   9
B        b         6                   10

我似乎无法正确地进行分组和求和。任何帮助,将不胜感激。谢谢

您可以在此处使用条件聚合:

SELECT
    code1,
    code2,
    SUM(CASE WHEN identifier = 1 THEN dollars ELSE 0 END) AS identifier1_sum,
    SUM(CASE WHEN identifier = 2 THEN dollars ELSE 0 END) AS identifier2_sum
FROM yourTable
GROUP BY
    code1,
    code2;

Demo