c# - 由于查询找不到我所要求的值的单个实例而出现错误,我该如何解决这个问题?

标签 c# sql-server

所以基本上我正在用 C# 编写一个程序,并且需要对数据库进行查询。在此查询中,我需要总结给定列的所有值,另外 2 个列符合我的要求。然后我获取该值并将其放入“int”类型变量中。

SELECT SUM(Column1) FROM table WHERE Column2="blahblah" AND Column3="Case1" ...
int the_sum = System.Convert.ToInt32(sql.ExecuteScalar());

现在的问题是,Column3 只能有 2 种类型的字符串值,这里我将它们称为 Case1 或 Case2,并且仅当 column3 包含 Case1 值时才需要 Column1 的 SUM。一切都很酷,除了 Column3 中的所有值可能都是 Case2 之外。这样,就不会有求和的实例,并且第二行中会出现错误,我想将总和放入“the_sum”int中:

int the_sum = System.Convert.ToInt32(sql.ExecuteScalar());

我该如何解决这个问题?我在这里做错了吗?

最佳答案

SUM(column1) 更改为 ISNULL(SUM(column1),0)

这样,当没有要添加的值时,您将返回零..

关于c# - 由于查询找不到我所要求的值的单个实例而出现错误,我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107062/

相关文章:

c# - 使用动态 where 参数对 db 进行 Linq 查询

c# - 如果在页面中声明,则方法不存在

c# - .NET Repeater HeaderTemplate

sql-server - null 未按预期工作的情况

c# - Umbraco 4.7 系统架构建议使用 200K+ 节点

c# - 静态资源图像在运行时不出现(在设计时出现)

c# - Quartz.net 3.0.6 与 system.data.sqlite 1.0.109,没有提供程序 "SQLite-10"的元数据信息

sql-server - CREATE DATABASE 最终克隆了一个旧数据库

sql-server - Sql server T SQL 2014(重复使用相同的查询)

sql - 在 SQL Server 中获取特定记录,同时先前记录的总和大于某个百分比