数据表就像
ItemID,名称,数量
1,A,2
2,B,1
3,C,3
4,D,4
5,E,5
需要获得匹配数量列的可能组合。
E.G。如果我通过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
答案 0 :(得分:0)
您可以使用recursive CTE查找所有组合,例如此SO-Question:Getting all possible combinations which obey certain condition with MS SQL
答案 1 :(得分:0)
我从C# algorithm - find least number of objects necessary获得了想法
但仍然无法根据我的要求进行修改。堂妹。在我的情况下,有重复的值,
var list = new[] { 2, 3, 4, 6, 7, 2, 4, 5, 3 };
Array.Sort<int>(list);
var ans = Knapsack(list, 9);
它会抛出一个异常InvalidOperationException(“Sequence不包含任何元素”)
有什么想法来解决这个问题吗?