逾期表A 催收人员等级表B
合同ID 门店ID 产品ID 逾期等级ID 人员ID 门店ID 催收产品ID 逾期等级ID
012 001 01 1 101 001 01 1
224 001 01 2 302 001 01 1
031 001 01 1 503 002 02 2
094 002 01 2 104 003 02 3
095 003 02 3 705 004 03 4
066 004 03 4 906 001 01 2
077 001 01 1 407 001 02 3
208 002 01 2
909 001 01 2
表C
合同ID 人员ID
C#中请问怎么把表A 的合同到表B匹配然后插入表C中,
注意:表A中有相同门店,相同产品,相同逾期等级。
不要考虑表A,表B的数量,直接分配就好,表A总的逾期合同,在表B中都有相对应的人
表B中也有多个负责催收相同门店,相同产品,相同逾期等级的人,
同一个人可以负责多个,产品,多个等级
请将合同平均匹配给负责相同(门店,产品,逾期等级的人),不能平均分配的随机分配。
比如:表A有10个相同的合同,表B中满足条件的催收人只有3个,
那么就是先平均分配在把余下的1个随机分配,保证不重复分配给这个人员
请将合同全部分完
我觉得和你前面那个问题的差别不大 合同ID人员ID有没有规律应该没有影响
难道说我理解的不对?建议你贴个你想要得到的数据结果
因为这个操作要在C#后台,所以得重新征求一下,数据结果就是表C
C#后台你能搞定吗
@ouyangdu: 在C#代码里可以把两个表里的数据取出来循环逻辑判断来处理,也可以把前面那个sql拼一拼一下子执行;可能也能用linq来做……
@小白菜T: C#怎么写呢?具体一点啊,这个问题困扰我几天了
@ouyangdu: 在C#代码里处理的话,把数据取出来然后循环遍历来处理,我不太明白难点在哪里啊。。。
@小白菜T: 因为他有多个合同下面的门店,产品,等级。而且表B中也有多个负责催收相同门店,相同产品,相同逾期等级的人。所以还要分组。具体实施起来对我来说有点困难,希望提供代码
@ouyangdu: 你所说的这三个表应该是在数据库里存在的表没错吧?如果是的话,干脆把之前那个SQL拼起来,然后调用执行得了。。
string strSql = @"SELECT ROW_NUMBER() OVER(ORDER BY [合同ID]) rowid,* INTO #temp1 FROM A
……
INSERT INTO C ([合同ID], [人员ID] ) SELECT * FROM #result";
然后按照你平时执行sql的习惯执行就好。。。