首页 > 解决方案 > SQL 搜索中的求和函数

问题描述

我试图找出系统中有多少帐户在特定字段中有 1。我正在使用的代码如下:

Select  Member_Id,    
        LoanAccount_ID,
        SUM(Dormant) as SDormant
From    LoanAccountBal
Group by member_ID, LoanAccount_ID, SDormant
Order by Member_ID asc, LoanAccount_ID asc

但是,当我尝试运行此代码时,出现以下错误:

消息 207,级别 16,状态 1,第 5 行无效的列名称“SDormant”。

如何获得识别新列名和求和函数的代码?

编辑:更好地解释。

对于 Member_ID 和 LoanAccount_ID 都有多个具有相同参数的条目(例如,可能有 200 个 Member_ID:1,LoanAccount_ID:200)。其中只有 1 个可能具有休眠代码(值为 1),而其余的可能为空。我需要聚合 Member_IDs 和 LoanAccount_IDs,并计算在 Dormant 字段中有多少条目具有值。希望这是一个更好的解释。

标签: sqlsql-server

解决方案


我不知道您的查询与您的问题有什么关系。但是您通常不会SUM()GROUP BY. 所以我认为这是您要编写的查询:

Select Member_Id, LoanAccount_ID, SUM(Dormant) as SDormant
From LoanAccountBal
Group by member_ID, LoanAccount_ID
Order by Member_ID asc, LoanAccount_ID asc;

但是,对于您的问题,我希望您的查询中有一个条件,也许是:

where <some column> = 1

推荐阅读