首页 > 解决方案 > SQL Pivot总计行?

问题描述

我让我的枢轴与用户一起工作,并且该用户能够查看不同的帐户。下面是数据透视表的结果

   Accounts  | Toms
    Bank        40
    Bank2       50

它的关键代码是......

SELECT *  FROM 
    (SELECT  
          UserPivot.[parties]
          ,UserPivot.[Accounts]
          ,UserPivot.[CurrentAmount] 
          ,UserPivot.[Plus / Negative]
          FROM UserPivot) AS BaseData

PIVOT(
    SUM(BaseData.[CurrentAmount])
    FOR BaseData.[parties]
    IN([Toms])
) AS PivotTable

有没有办法计算汤姆斯账户的总数?

谢谢大家的建议!

标签: sqlsql-serverpivot

解决方案


我会使用条件聚合,因此您可以使用GROUPING SETS

SELECT UserPivot.Accounts,
       SUM(CASE WHEN UserPivot.parties = 'Toms' THEN UserPivot.CurrentAmount
FROM UserPivot
GROUP BY GROUPING SETS ( ( UserPivot.Accounts), () );

推荐阅读