问题描述:我现在有一个表,字段为销售员,副销售员,销售金额
实现:在算业绩时,如果同时存在销售员和副销售员的话,就需要平分业绩
我现在的方法是,分成三段然后union all 在一起再sum,但是这样好麻烦,大佬们有没有简单的方法
select 销售员,sum(业绩) from (
select
a as 销售员,sum(if(b is not null ,c/2,c)) 业绩
from testq
group by a
union all
b as 销售员,sum(c/2) 业绩
from testq where b is not null
group by b
) a group by 销售员
计算绩效的时候 直接 case when 判断就OK 啊
逻辑代码:
首先根据销售员字段汇总对应的绩效,然后再以副销售员为主汇总绩效,根据人员 left join 之后相加就行了