具有多个条件的SQL求和

具有多个条件的SQL求和,sql,Sql,我有一张这样的桌子 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 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多个链接


请协助使这样的脚本

使用带有聚合函数的Group by

SELECT Link,
       PeriodID,
       SUM(TotalDebit) AS TotalDebit,
       SUM(TotalCredit) AS TotalCredit
FROM tablename
GROUP BY Link, PeriodId;
根据所使用的DBMS,如果可以有空值,则此查询可能不会始终给出预期的结果。您可以这样修改它以考虑这种情况:

SELECT Link,
       PeriodID,
       SUM(COALESCE(TotalDebit,0)) AS TotalDebit,
       SUM(COALESCE(TotalCredit,0)) AS TotalCredit
FROM tablename
GROUP BY Link, PeriodId;

您应该查看
分组依据
SUM()
.Hi@smucheke。如果这个答案回答了你的问题,你应该接受它作为正确答案。