You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL单查询实现:按ID校验DR与CR金额总和并生成Balanced列

如何用单条SQL校验同一ID的借贷金额是否匹配?

针对你需要校验同一ID下DR(借方)和CR(贷方)金额总和是否匹配的需求,我给你整理了一个直接可用的SQL查询,能完美生成带Balanced标识的结果:

USE [data]
GO

SELECT 
    ID,
    SUM(CASE WHEN TransactionType = 'DR' THEN Amount ELSE 0 END) AS TotalDebit,
    SUM(CASE WHEN TransactionType = 'CR' THEN Amount ELSE 0 END) AS TotalCredit,
    CASE 
        WHEN SUM(CASE WHEN TransactionType = 'DR' THEN Amount ELSE 0 END) = SUM(CASE WHEN TransactionType = 'CR' THEN Amount ELSE 0 END) 
        THEN 'Y' 
        ELSE 'N' 
    END AS Balanced
FROM 
    [dbo].[你的交易表名] -- 替换成你实际使用的表名
GROUP BY 
    ID;

逻辑说明:

  • 用SUM(CASE...)分别统计每个ID下借方和贷方的总金额,非对应类型的金额按0计算,避免干扰总和
  • 通过外层CASE语句直接对比两个总和,相等返回'Y',不匹配返回'N'
  • 按ID分组确保每个ID的结果独立计算

如果你的表里交易类型字段不是TransactionType、金额字段不是Amount,直接替换成你实际的字段名就行,适配性很强。

内容的提问来源于stack exchange,提问作者Tiger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 11:02:28