【发布时间】:2011-05-30 02:28:02
【问题描述】:
更新**:
我更改了问题的标题以更好地满足整体需求。我目前有一个表格,其中包含我的卖家 ID、他们各自的父 ID、他们的佣金水平、他们已售出的产品总和以及这些产品的总佣金(在案例说明中计算,因为佣金因产品而异);但我继续遇到的问题是:
然后,我无法将我的查询结果横向向上计算,并计算每个卖家应该从他们的下线卖家(他们以低于他们的佣金水平引入的卖家)获得的分佣金。
原帖:
我有一个脚本,它目前“有效”,但有近 3600 行代码,并且在单个脚本中进行了超过 50 次数据库调用。根据我的经验,没有办法真正“循环”脚本并将其最小化,因为对数据库的每次调用都是基于引用 id 的先前调用的子查询。
也许我可以举一个非常简单的例子来说明我正在努力完成的事情,看看是否有人有类似的经验。
在我的示例中,有三个表:
表 1 - 卖家
ID | Comm_level | Parent
-----------------------------------
1 | 4 | NULL
2 | 3 | 1
3 | 2 | 1
4 | 2 | 2
5 | 2 | 2
6 | 1 | 3
其中 ID 是我们其中一位销售代理的 ID,comm_level 将确定他销售的每种产品的佣金百分比,parent 表示为其招募该特定代理的 ID。 在上面的示例中,1 是顶级特工,他招募了两名特工,2 和 3。2 招募了两名特工,4 和 5。3 招募了一名特工,6。注意:特工永远不能招募等于或高于他们的人自己的水平。
表 2 - 佣金
Level | Item 1 | Item 2 | Item 3
-----------------------------------------------------
4 | .5 | .4 | .3
3 | .45 | .35 | .25
2 | .4 | .3 | .2
1 | .35 | .25 | .15
此表列出了每个代理基于其实际 comm_level 的佣金百分比(如果代理处于 4 级,他将获得每售出一件商品 50%、每售出一件商品 40%、每件商品 30%第 3 项,依此类推。
表 3 - 已售商品
ID | Item
---------------------
4 | item_1
4 | item_2
1 | item_1
2 | item_3
6 | item_2
1 | item_3
此表将实际出售的商品与出售该商品的卖家配对。
生成佣金报告时,计算单个值非常简单。然而,根据他们的 sub_sellers 计算他们的佣金是非常困难的。
在本例中,卖家 ID 1 会从每件售出的商品中分得一件。佣金百分比表示个人销售额或佣金的高度。
例如:
当卖家 ID 6 出售上述 item_2 之一时,佣金树将如下所示:
-ID 6 - 成本的 25%(item_1)
-ID 3 - 成本的 5%(item_1) - (30% 是他的通讯 - 卖家 ID 6 的 25% 通讯)
-ID 1 - 成本的 10%(item_1) - (40% 是他的通讯 - 卖家 ID 3 的 30%)
这必须为系统中的每个代理从上到下计算(因此数据库在我的巨大脚本中的 while 循环中调用)。
任何人有他们过去可能使用过的好建议或示例?
修改佣金结构
注意:本例中的佣金是剩余的,这意味着如果卖家在第 1 个月加入客户,他/她将为该客户收到相同的佣金,直到他们不再是订阅者。
【问题讨论】: