我有一张这样的表
Link PeriodiD Debit Credit Project
1 49 - 200 1
1 49 200 - 2
1 49 100 0
1 50 50 - 1
2 49 - 600 0
我想要一个脚本来计算每个时段的每个链接的借方和贷方,无视项目。
所以答案应该是
Link PeriodiD TotalDebit TotalCredit
1 49 300 200
1 50 50 -
2 49 - 600
我有超过60个periodID和100多个链接。
请协助制作这样的剧本
答案 0 :(得分:0)
使用具有聚合函数的分组。
SELECT Link,
PeriodID,
SUM(TotalDebit) AS TotalDebit,
SUM(TotalCredit) AS TotalCredit
FROM tablename
GROUP BY Link, PeriodId;
如果您可以具有NULL值,则此查询可能并不总是给出预期结果,具体取决于您使用的DBMS。您可以像这样修改它以解决这种情况:
SELECT Link,
PeriodID,
SUM(COALESCE(TotalDebit,0)) AS TotalDebit,
SUM(COALESCE(TotalCredit,0)) AS TotalCredit
FROM tablename
GROUP BY Link, PeriodId;