ahmedrahil786

Query to get Day, zone, cars, Pricing and bookings

Mar 10th, 2019
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. select
  2. r.id as rid,
  3. r.state as status,
  4. c.id as carid,
  5. cc.id as carclassid,
  6. z.name as zonename,
  7. date(r.occupy_start_at + interval '8' hour) as day,
  8. TIMESTAMPDIFF(hour,CONVERT_TZ(r.occupy_start_at, '+00:00', '+8:00'),CONVERT_TZ(r.occupy_end_at, '+00:00', '+8:00')) as ridelength,
  9. hour(r.occupy_start_at + interval '8' hour) as startingtime,
  10. TIMESTAMPDIFF(minute,r.occupy_start_at + interval '8' hour,r.occupy_end_at + interval '8' hour) as ridelengthinminutes,
  11. TIMESTAMPDIFF(day,c.created_at + interval '8' hour,'2019-3-11 00:00') as activedays,
  12. weekday(r.occupy_start_at + interval '8' hour) as startingday,
  13. cc.car_name as carname,
  14. sum(p.amount) as amount,
  15. count(distinct case when r.state = 'completed' then r.id end) as Bookings
  16. from cars as c
  17.  
  18. join car_classes as cc
  19. on c.car_class_id = cc.id
  20.  
  21. join zones as z
  22. on z.id = c.zone_id
  23.  
  24. join reservations as r
  25. on r.car_id = c.id
  26.  
  27. join payments as p
  28. on p.reservation_id = r.id
  29.  
  30. where CONVERT_TZ(r.occupy_start_at, '+00:00', '+8:00') >= '2019-1-1 00:00'
  31. and CONVERT_TZ(r.occupy_start_at, '+00:00', '+8:00') <= '2019-1-31 00:00'
  32.  
  33. group by car_id, r.occupy_start_at + interval '8' hour,weekday(r.occupy_start_at + interval '8' hour),r.id,z.name
Advertisement
Add Comment
Please, Sign In to add comment