Tsql 按可能的组在2名员工之间拆分值

Tsql 按可能的组在2名员工之间拆分值,tsql,Tsql,我们制定了一项激励计划,通过“分数”给员工打分。我已经编写了一个SP,这样我们就可以每天动态地更改这些值,但是我在自己的头脑中努力寻找在两个不同代理之间分割值的最佳方法 设置 源表如下所示: Department | Policy |Opening Advisor | Closing Advisor | Agg Pts | Aff Pts | Rnl Pts | Sales A | LYJX01PC01 |

我们制定了一项激励计划,通过“分数”给员工打分。我已经编写了一个SP,这样我们就可以每天动态地更改这些值,但是我在自己的头脑中努力寻找在两个不同代理之间分割值的最佳方法

设置

源表如下所示:

Department  |   Policy      |Opening Advisor    |   Closing Advisor     |   Agg Pts     |   Aff Pts     |   Rnl Pts |
Sales A     |   LYJX01PC01  |       Sally       |       Sally           |       0       |       3       |      0    |
Sales A     |   MUMP01TW01  |       Sally       |       John            |       0       |       0       |      3    |
此表是两个独立的表,第一个是开始表,第二个是结束表。这些表通过使用“Branch”连接起来,这是我在这里没有提到的一列,然后使用“Policy”来保持简单,Policy是连接这两个表的东西

想法

这里的想法是,如果开盘顾问和收盘顾问不同,则每个保单的积分将被分成50/50

第1行的开单和结单顾问是Sally,因此对于该保单,她将获得所有积分,但是在第2行,她开单了,而John关闭了该保单

这将在两者之间分割出点,即3/2=1.5。然后,输出将类似于以下内容:

输出

Department  |   Policy      |   Advisor     |   Agg Pts |   Aff Pts |   Rnl Pts |
Sales A     |   LYJX01PC01  |   Sally       |       0   |       1.5 |   0       |
Sales A     |   LYJX01PC01  |   John        |       0   |       1.5 |   0       |
Sales A     |   MUMP01TW01  |   Sally       |       0   |       0   |   3       |

在我看来,我所做的只是按照策略和顾问进行分组,然后在开始/结束顾问不同的情况下分割点,但是在SQL中,我只是在转圈子,这是我需要一些外部建议的时刻之一。

哪一列连接开始/结束事件?当然不是
Policy
,因为这两行中的每一行都是不同的。@TimBiegeleisen我想公平地说,我遗漏的一点是,关闭顾问来自一个单独的表,我用一个称为分支和策略的整数值连接该表。