一人因他的朋友购买而获得10%的礼让。
表2
- Reference table
- Transaction table
参考
Person_id Referrer_id
3 1
4 1
5 1
6 2
交易表
Person_id Amount Action Date
3 100 Purchase 10-20-2011
4 200 Purchase 10-21-2011
6 400 Purchase 12-15-2011
3 200 Purchase 12-30-2011
1 50 Commision 01-01-2012
1 10 Cm_Bonus 01-01-2012
2 20 Commision 01-01-2012
• 如何获得下列转手结果——Person_id=1
Month Ref_Pur Earn_Comm Todate_Earn_Comm BonusRecvd Paid Due
10-2011 300 30 30 0 0 30
11-2011 0 0 30 0 0 30
12-2011 200 20 50 0 0 50
01-2012 0 0 50 10 50 0
上文使用的标签是:
Ref_Pur = Total Referred Friend s Purchase for that month
Earn_Comm = 10% Commision earned for that month
Todate_Earn_Comm = Total Running Commision earned upto that month
MYSQL CODE, i 写
SELECT dx1.month,
dx1.ref_pur,
dx1.earn_comm,
( @cum_earn := @cum_earn + dx1.earn_comm ) as todate_earn_comm
FROM
(
select date_format(`date`, %Y-%m ) as month,
sum(amount) as ref_pur ,
(sum(amount)*0.1) as earn_comm
from transaction tr, reference rf
where tr.person_id=rf.person_id and
tr.action= Purchase and
rf.referrer_id=1
group by date_format(`date`, %Y-%m )
order by date_format(`date`, %Y-%m )
)as dx1
JOIN (select @cum_earn:=0)e;
如何加入也包含不依赖参考表的BonusRecvd、Paid和“应尽人意”的问题?
and also generate row for the month 11-2011 , even though no trnx occured on that month