一张TableA,里面有ID、Value两个字段,sum(value)为总值(TValue),另还有一张不同物品占总值(TValue)比例的的表TableB,m_id为物品id,m_value为占Tvalue的部分值,问题如下:
如何将TableA的记录根据不同m_id占总值(TValue)的m_value,分组到不同的m_id中去??
我表述的可能不是很明白,简单的说就是将 一堆记录按照value值累加相同的原则分入不同的分组,举个例子
TableA 有 50 条 记录,每条记录的id不同,value 有可能不同 , 但 sum(value)=TValue=100
TableB 有如下三条记录
m_id m_value
A 50
B 30
C 20
即A、B、C的m_value值=TValue=100
要求将TableA中的50条记录,分三组分别给A、B、C,同时这些分组的记录的value相加等于A、B、C的m_value
希望我的表达各位能明白,求算法解决方案,非常感谢!
您这个问题问的也太不清楚了吧。
比如TableA中的那些value有没有什么规律呢? 最大数是多少 最小数是多少 是否有小数?
功能明白,但是我却不知道你要求是在SQL里实现,还是C#里面实现。
另:1.你的TABLE_A中的数据是什么样的。如果有(>50 && >误差值)的数要怎么算。
2.TABLE_A中的数据有没有负数,如果有要怎么用(A.不管,直接排除;B.用绝对值;C.按负数计算.....)
我实现了一下,见下面链接
http://www.cnblogs.com/eaglet/archive/2009/08/28/1555645.html