C# 在SQL表中组合相似的列?

C# 在SQL表中组合相似的列?,c#,sql,logic,C#,Sql,Logic,我有一张有目录、位置和数量的桌子。我想合并所有类似的目录,并使新行的数量为该目录中所有行的数量之和 例如,如果我有: Catalouge#, Location, Quantity 1234, A, 5 1234, B, 10 1234, C, 10 4321, A, 2 4321, B, 3 我想以以下方式结束: Catalouge#, Location, Quantity 1234, null, 25 4321, null, 5 有上百个目录号,所以我不能单独查询每个目录号。但这是我能想到

我有一张有目录、位置和数量的桌子。我想合并所有类似的目录,并使新行的数量为该目录中所有行的数量之和

例如,如果我有:

Catalouge#, Location, Quantity
1234, A, 5
1234, B, 10
1234, C, 10
4321, A, 2
4321, B, 3
我想以以下方式结束:

Catalouge#, Location, Quantity
1234, null, 25
4321, null, 5
有上百个目录号,所以我不能单独查询每个目录号。但这是我能想到的唯一办法。任何一个机构都有更普遍的方法来做这件事吗?我更喜欢用sql,但如果必要的话,我可以用c来做。

在c中,这很简单,请使用哈希集并将所有字符串添加到该集中。它将自动不添加重复项,最后,在该项中,u将始终具有唯一的字符串条目。见下面的示例

using System.Collections.Generic;

var items = new HashSet<string>();
            items.Add("1234");
            items.Add("1234");

            var count = items.Count; //it will be always one.
使用System.Collections.Generic;
var items=newhashset();
项目。添加(“1234”);
项目。添加(“1234”);
变量计数=项目数//它将永远是一个。

听起来您只需要分组:

select
 CatalogueNo, null as Location, sum(Quantity) as Quantity
from ...
where ...
group by CatalogueNo

SQL数据库非常擅长聚合。查看一下,例如,

关于。。。我的意思是:在from部分我可以添加3个带逗号的表格吗?在where部分我需要什么?@Alecks您将从在
中添加主表,然后根据需要加入任何其他表。将所需的任何过滤器放入
中的
位置(或者在不需要时将其移除)。