获取 DataRow 中给定值的可能组合
在.Net中,有什么方法可以找到数据表中给定值的匹配组合?
数据表类似于
ItemID, Name, Quantity
1, A, 2
2, B, 1
3, C, 3
4, D, 4
5, E, 5
需要获取与匹配 Quantity 列的可能组合。
EG,如果我通过了 8,则
需要 DataTable (2+1+5 = 8, 3+5 = 8, 1,3,4 = 8) 的结果为
combinationID、Quantity、NoOfItems(combinationID 的行计数)
1, 2, 3
1, 1, 3
1, 5, 3
2 ,
3, 2 2, 5, 2
3, 1, 3
3, 3, 3
3, 4, 3
in .Net is there any way to find matching combinations for given value in data table ?
data table is like
ItemID, Name, Quantity
1, A, 2
2, B, 1
3, C, 3
4, D, 4
5, E, 5
need to get possible combinations with matching Quantity column.
E.G. if I passed 8
need result of DataTable (2+1+5 = 8, 3+5 = 8, 1,3,4 = 8) as
combinationID, Quantity, NoOfItems(Row Count for combinationID)
1, 2, 3
1, 1, 3
1, 5, 3
2, 3, 2
2, 5, 2
3, 1, 3
3, 3, 3
3, 4, 3
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 递归 CTE 来查找所有组合,如下所示-问题:获取遵守某些条件的所有可能组合MS SQL 条件
You could use a recursive CTE to find all combination like in this SO-Question: Getting all possible combinations which obey certain condition with MS SQL
我从 C# 算法 - 找到所需的最少对象数
但仍无法按照我的要求进行修改。因为。就我而言,存在重复值,
它将引发异常 InvalidOperationException (“序列不包含元素”)
有解决这个问题的想法吗?
I got idea from C# algorithm - find least number of objects necessary
but still in trouble to modify with my requirement. Coz. in my case there is duplicate values,
it will trow a exception InvalidOperationException ("Sequence contains no elements")
any idea to resolve this ?