2

所以基本上我正在用 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());

我该怎么办?我在这里做错了吗?

4

1 回答 1

6

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

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

于 2012-04-11T13:40:14.950 回答