Advertisement
Guest User

Untitled

a guest
Apr 17th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 0.91 KB | None | 0 0
  1. SELECT
  2.     tours.id as tour_id,
  3.     users.id as matched_user_id,
  4.     ((ACOS(SIN(apartments.latitude * PI() / 180) * SIN(users.latitude * PI() / 180) + COS(apartments.latitude * PI() / 180) * COS(users.latitude * PI() / 180) * COS((apartments.longitude - users.longitude) * PI() / 180)) * 180 / PI()) * 60 * 1.853159616) as distance
  5. FROM
  6.     tours
  7. INNER JOIN
  8.     apartments
  9.         ON
  10.             tours.apartment_id = apartments.id
  11. INNER JOIN
  12.     users
  13. LEFT OUTER JOIN
  14.     tour_requests
  15.         ON
  16.             tour_requests.tour_id = tours.id AND
  17.             tour_requests.user_id = users.id
  18.  
  19. LEFT OUTER JOIN
  20.     tours as user_tours
  21.         ON
  22.             user_tours.user_id = users.id AND
  23.             user_tours.tour_at = tours.tour_at
  24. WHERE
  25.     tours.status = 'pending' AND
  26.     tours.user_id is NULL AND
  27.     tours.tour_at < DATE_ADD(NOW(), INTERVAL 90 MINUTE) AND
  28.     tours.tour_at > DATE_ADD(NOW(), INTERVAL 35 MINUTE) AND
  29.     tour_requests.id is NULL AND
  30.     user_tours.id is NULL
  31. ORDER BY distance
  32. LIMIT 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement