ahmedrahil786

Pineng Performance - MFT and % of other contribution

May 15th, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. set @startDate = "2019-01-01";
  2.  
  3. select
  4. members.id as mid,
  5. MIN(reservations.id) as first_res,
  6. date(reservations.occupy_start_at + interval '8' hour) as date,
  7. (YEAR(reservations.occupy_start_at) - YEAR(members.birthday)) as age,
  8. COUNT(reservations.id) as srid,
  9. round((timestampdiff(minute, convert_tz(reservations.start_at, '+00:00', '+8:00'), convert_tz(reservations.end_at, '+00:00', '+8:00'))/60),2) as sdur,
  10. zones.city as zone_city,
  11. zones.region as zone_region,
  12. cc.car_name as carname,
  13. #cars.id as carid,
  14. #IFNULL(ma.domain_locality,0) as location,
  15. IFNULL(ma.recommender,"") as referral,
  16. IFNULL(coupons.comment,"") as coupon,
  17. IFNULL(round(c.rev,2),0) as rev,
  18. round((IFNULL(c.rev,0) - IFNULL(p.coupon,0)),2) as net_rev,
  19. round(IFNULL((IFNULL(p.coupon,0)/c.rev),0),2) as coupon_rate
  20. from reservations
  21. left join members on reservations.member_id = members.id
  22. left join coupons on coupons.reservation_id = reservations.id
  23. left join zones on reservations.start_zone_id = zones.id
  24. left join (
  25. select IFNULL(payments.amount,0) as coupon, payments.reservation_id as rid
  26. from payments
  27. where payments.state = 'normal' and payments.paid_type = 'coupon'
  28. ) as p on p.rid = reservations.id
  29. left join (
  30. select sum(charges.amount) as rev, charges.reservation_id as rid
  31. from charges
  32. where charges.state = 'normal' and charges.kind IN ('rent' , 'oneway', 'd2d', 'mileage')
  33. group by charges.reservation_id
  34. ) as c ON reservations.id = c.rid
  35. left join cars on cars.id = reservations.car_id
  36. left join car_classes cc on cc.id = cars.car_class_id
  37. left join member_appendixes ma on members.id = ma.member_id
  38. where
  39. reservations.state = 'completed'
  40. and members.imaginary in ('normal', 'sofam')
  41. and DATE(CONVERT_TZ(members.created_at,'+00:00','+8:00')) >= @startDate
  42. group by members.id
Advertisement
Add Comment
Please, Sign In to add comment