我在查询sql查询时遇到了麻烦,并且想知道是否有人可以提供帮助。我有这些表:'订单','订单产品','产品'和'用户'。我想了解每个“用户”订购的产品数量(包含在ProductID中的“OrderProducts”中)的数量。用户的用户ID包含在'订单'表中,并且'订单产品'的订单ID与'订单'中的订单ID相关。最后的结果应该是这样的:Linq to Sql - 通过父表关联进行双重分组
User1 User2 User3 Product1 100 75 17 Product2 24 78 18 Product3 82 48 35
所以它由两个用户名和产品ID分组并通过用户ID通吃分组ProductIDs的数量的总和。我希望这是有道理的。任何帮助非常感谢,谢谢!
这里有一个简单的数据库故障:
产品
- 产品ID
- 产品名称
订单
- 订单ID
- 用户名
OrderProducts
- 订单ID
- 产品ID
- ProductQty
用户
- 用户名
- 用户名
嗯,这看起来很有希望,但我没有得到太多的机会。我将如何修改它以返回零? (即用户已订购此产品0次)。最后,我将指定哪些产品和用户包含在结果中,因此我必须将它们作为0。非常感谢! – Ryan 2009-10-02 19:54:28
另外,让我知道如果有人有提示清理我的疑问! – 2009-10-02 21:04:38
嘿谢谢你!我一直在另一个项目,并回到这个。我必须在VB.NET中完成这个项目,而我只有一个问题将你的linq语句转换为vb.net。我不知道i.Sum(v => v)会转换为什么。我已经得到了这个:从产品_ 来自你在用户_ 让我=(从op在OrderProducts _ 其中op.Order.User.UserID = u.UserID和op.Product.ProductID = p .ProductID _ Select op.ProductQty)_ Let Qty = _ If(i.Count()= 0,0,i.Sum())_ 使用{p.ProductName,u.Username,Qty} 非常感谢瑞恩! – Ryan 2009-10-20 18:25:44