Advertisement
ahmedrahil786

Study of MFTs - Rahil

Jul 16th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. set @start := '2019-1-1';
  2.  
  3. select
  4. A.mid,
  5. B.rid,
  6. B.email,
  7. I.age,
  8. A.date as MFTdate,
  9. B.date as Createddate,
  10. A.week,
  11. I.resv_hour,
  12. I.occupy_start_hour,
  13. count(A.mid) as totalmfts,
  14. B.dur,
  15. B.carname,
  16. IFNULL(B.city,"") as City,
  17. IFNULL(B.region,"") as Region,
  18. IFNULL(B.zid,"") as zoneid,
  19. IFNULL(E.charges,0) as gross_rev,
  20. IFNULL(F.coupon_Spent,0) as Coupon_Spent,
  21. round((IFNULL(E.charges,0) - IFNULL(F.coupon_Spent,0)),2) as net_rev,
  22. G.referral,
  23. IFNULL(H.comment,"") as couponname,
  24. IFNULL(B.referral,"") as Referral,
  25. I.way,
  26. I.state,
  27. I.resv_Date,
  28. timestampdiff(day, B.date, I.resv_Date) as Signup_to_MFT_datediff
  29. from
  30. (select
  31. distinct c.member_id as mid,
  32. date(c.created_at + interval '8' hour) as date,
  33. WEEKOFYEAR(c.created_at + interval '8' hour) as Week
  34. from charges c
  35. where c.kind = 'subscriptionFee'
  36. and c.created_at + interval '8' hour >= @start
  37. group by 1) A
  38. join
  39. (select distinct r.member_id as mid,
  40. min(r.id) as rid
  41. from reservations r
  42. group by 1
  43. order by r.member_id Asc) L
  44. on L.mid = A.mid
  45. left join
  46. (select
  47. distinct r.id as rid,
  48. date(m.created_at + interval '8' hour) as date,
  49. m.email as email,
  50. ma.recommender as referral,
  51. round(sum(timestampdiff(minute, r.start_at, r.end_at)/60),2) as dur,
  52. z.city as city,
  53. z.region as region,
  54. z.id as zid,
  55. cc.car_name as carname
  56. from reservations r
  57. join members m on r.member_id = m.id
  58. join member_appendixes ma on ma.member_id = m.id
  59. join zones z on r.start_zone_id = z.id
  60. join cars ca on ca.id = r.car_id
  61. join car_classes cc on cc.id = ca.car_class_id
  62. where m.imaginary in ('sofam', 'normal')
  63. and r.member_id not in ('125', '127')
  64. and r.start_at + interval '8' hour >= @start
  65. group by 1) B
  66. on L.rid = B.rid
  67. left join
  68. (select c.reservation_id as rid, sum(c.amount) as charges from charges c
  69. where c.state='normal' and c.kind in ('rent','oneway','d2d','mileage') and c.created_at + interval '8' hour >= @start
  70. group by rid) E on B.rid = E.rid
  71. left join
  72. (select p.reservation_id as rid, month(p.created_at + interval '8' hour) as month,Year(p.created_at + interval '8' hour) as year, IFNULL(p.amount,0) as coupon_Spent from payments p
  73. where p.state = 'normal' and p.paid_type = 'coupon'
  74. group by p.reservation_id) F on F.rid = E.rid
  75. left join
  76. (select
  77. distinct ma.member_id as mid,
  78. count(distinct case when ma.recommender like '%@%' then ma.member_id end) as referral
  79. from member_appendixes ma
  80. group by 1) G
  81. on G.mid = A.mid
  82. left join
  83. (select
  84. Distinct c.reservation_id as rid,
  85. c.comment as comment
  86. from coupons c) H
  87. on H.rid = B.rid
  88. left join
  89. (select distinct r.id as rid,
  90. r.state as state,
  91. r.way as way,
  92. Date(r.start_at + interval '8' hour) as resv_Date,
  93. hour(r.start_at + interval '8' hour) as resv_hour,
  94. hour(r.occupy_start_at + interval '8' hour) as occupy_start_hour,
  95. (YEAR(r.occupy_start_at) - YEAR(m.birthday)) as age
  96. from reservations r
  97. join members m on m.id = r.member_id) I
  98. on I.rid = B.rid
  99. where B.city is not null
  100. group by A.mid
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement