SQL Server 临时表中的GROUP BY

ercv8c1e  于 2023-02-11  发布在  其他
关注(0)|答案(1)|浏览(190)

我正在编写一个存储过程,并修改临时表,使其根据特定条件输出数据。这个存储过程相当复杂,有40列。但是对于这个特定的问题,我只需要按DESCR列对记录进行分组。其他37列都具有相同的值,因此它不应该'这不是问题,但在这种情况下,如何按DESCR对它们进行分组并合并LATEFEECHG值?
该查询基本上如下所示:

SELECT [columns1], [column38], t.descr t.chg, t.lateFee, (t.chg + t.lateFee) as Total
FROM #tmpStatement t
    INNER JOIN dbo.Association a ON t.AssocID = a.AssocID
    INNER JOIN dbo.Company c ON a.CompanyID = c.CompanyID
GROUP BY
  [all columns]

如果我从GROUP BY子句中删除t.chgt.lateFee列,SQL会告诉我它们在SELECT列表中是无效的,因为它们不包括在GROUP BY中,但是我仍然希望这些值在我的表中。
目前这是该表的结果:

DESCR      CHG   LATEFEE    TOTAL
=================================
Assessment  1       0         1
Spec        0       2         2
Spec        3       0         3
Assessment  0       5         5
Res         3       0         3

我希望预期结果的外观:

DESCR      CHG   LATEFEE    TOTAL
=================================
Assessment  1       5         6
Spec        3       2         5
Res         3       0         3
yqkkidmi

yqkkidmi1#

查看示例数据,您可能需要一些简单的东西:

select descr, other, sum(chg) as chg, sum(latefee) as latefee, sum(chg) + sum(latefee) as total
from t
group by descr, other

相关问题