SQL同列差值查询:计算销售应收账款剩余待收金额
解决应收账款剩余待收金额的SQL语句
嘿,我来帮你搞定这个计算剩余待收金额的需求!
你的核心需求是把type=0的待收金额加总,再减去type=1的已付金额,最终按code和Name分组得到剩余待收数。这里用条件聚合就能轻松实现,具体SQL语句如下:
SELECT code, Name, SUM(CASE WHEN type = 0 THEN due ELSE -due END) AS due FROM Debit GROUP BY code, Name;
语句解释:
CASE WHEN type = 0 THEN due ELSE -due END:对每一行数据判断类型,待收金额直接取due值,已付金额取负的due值,这样求和时就自动完成了“待收总和减去已付总和”的计算。GROUP BY code, Name:因为要按客户(code+Name)分组统计,所以GROUP BY的字段必须和SELECT里的非聚合字段完全一致。
执行这个语句后,就能得到你期望的结果:
code Name due
113 ABC 17
114 XYZ 25
内容的提问来源于stack exchange,提问作者user8251888
相关产品推荐
相关产品推荐

