我有一张包含目录#,位置和数量的表格。我希望将所有类似的目录#组合在一起,并将新行的数量作为该目录的所有行数量的总和#。
例如,如果我有:
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#中执行此操作。
答案 0 :(得分:1)
听起来你只需要分组:
select
CatalogueNo, null as Location, sum(Quantity) as Quantity
from ...
where ...
group by CatalogueNo
SQL数据库非常擅长聚合。看看例如https://msdn.microsoft.com/en-us/library/ms173454.aspx
答案 1 :(得分:0)
在C#中它非常简单,请使用Hashset并将所有字符串添加到该集合中。它将自动不添加重复的一个,最后你将在这个项目中始终有一个唯一的字符串条目。见下面的样本。
using System.Collections.Generic;
var items = new HashSet<string>();
items.Add("1234");
items.Add("1234");
var count = items.Count; //it will be always one.