ahmedrahil786

Shiva Query on MFTs

May 14th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 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. (YEAR(current_date()) - YEAR(members.birthday)) as age,
  7. COUNT(reservations.id) as srid,
  8. 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,
  9. zones.name as zone_name,
  10. cc.car_name as carname,
  11. cars.id,
  12. IFNULL(round(c.rev,2),0) as rev,
  13. round((IFNULL(c.rev,0) - IFNULL(p.coupon,0)),2) as net_rev,
  14. round(IFNULL((IFNULL(p.coupon,0)/c.rev),0),2) as coupon_rate
  15. from reservations
  16. left join members on reservations.member_id = members.id
  17. left join coupons on coupons.reservation_id = reservations.id
  18. left join zones on reservations.start_zone_id = zones.id
  19. left join (
  20. select IFNULL(payments.amount,0) as coupon, payments.reservation_id as rid
  21. from payments
  22. where payments.state = 'normal' and payments.paid_type = 'coupon'
  23. ) as p on p.rid = reservations.id
  24. left join (
  25. select sum(charges.amount) as rev, charges.reservation_id as rid
  26. from charges
  27. where charges.state = 'normal' and charges.kind IN ('rent' , 'oneway', 'd2d', 'mileage')
  28. group by charges.reservation_id
  29. ) as c ON reservations.id = c.rid
  30. left join cars on cars.id = reservations.car_id
  31. left join car_classes cc on cc.id = cars.car_class_id
  32. where
  33. reservations.state = 'completed'
  34. and members.imaginary in ('normal', 'sofam')
  35. and DATE(CONVERT_TZ(members.created_at,'+00:00','+8:00')) >= @startDate
  36. group by members.id
Advertisement
Add Comment
Please, Sign In to add comment