Sql 方法,如果ID相同,则将值相加
您好,我目前正在尝试找出如何将值添加到一起,如果它们的项id在我的SQL数据库中是相同的。这是我的数据库视图 如您所见,其中两个值具有相同的“ItemID”,值为117。我希望我的方法返回两个值的组合量,因此在本例中,我希望它返回值“14” 这是我的模型中提取项目数量的方法Sql 方法,如果ID相同,则将值相加,sql,asp.net-mvc,model,Sql,Asp.net Mvc,Model,您好,我目前正在尝试找出如何将值添加到一起,如果它们的项id在我的SQL数据库中是相同的。这是我的数据库视图 如您所见,其中两个值具有相同的“ItemID”,值为117。我希望我的方法返回两个值的组合量,因此在本例中,我希望它返回值“14” 这是我的模型中提取项目数量的方法 public int Available(Item i) { OffSiteItemDetails d = ItemDetails.Where(x => x.itemID
public int Available(Item i)
{
OffSiteItemDetails d = ItemDetails.Where(x => x.itemID == i.ID).FirstOrDefault();
if (d == null)
return 0;
return d.qty;
}
但是,当有多个值具有相同的ID时,只是不确定如何组合这些值
public int Available(Item i)
{
List<OffSiteItemDetails> d = ItemDetails.Where(x => x.itemID == i.ID).ToList();
if (d == null || d.Count < 1)
return 0;
return d.Sum(x => x.qty);
}
{
List d=ItemDetails.Where(x=>x.itemID==i.ID).ToList();
如果(d==null | | d.计数<1)
返回0;
返回d.Sum(x=>x.qty);
}
示例数据中没有与
id
s相同的示例。但是您的问题的答案是分组依据.itemID@GordonLinoff,我需要通过我的MVC web应用程序提取值,因为我需要显示值。因此,不确定如何在该上下文中使用GROUPBY我需要创建Count和Sum方法吗?还是应该是自动的?我目前在使用这种方法时遇到了一些错误,比如Sum是LINQ包的一部分,但是如果“Where”方法起作用,“Sum”也应该起作用。在这种情况下,Sum仅适用于IEnumerable。我已经编辑了答案真棒,我现在没有错误,但不幸的是它现在仍然不能正常工作。我在我的主页上测试了它,检查它返回的值,但它并没有添加所有值。它只是返回单个的数量。(返回7而不是14)