У меня есть база данных, которая содержит 2 таблицы:SQL-запрос, зависящий от двух таблиц?
- Компании.
- купоны
Каждая строка в Businesses
имеют следующие поля:
{id
, details
, image
, name
, location_x
, location_y
},
, где location_x
и location_y
одно и то latitue
и longitue
координаты карт Google.
В Coupons
таблице, каждая строка имеет следующие поля:
{id
, business_id
, image
, details
, goneDate
, goneHour
}.
id
является купон id
,
и business_id
является id
из business
, что этот купон принадлежит.
Мой вопрос:
По quering Coupons
, как я могу получить все купоны, которые их владелец радиус бизнеса расположение является менее 10km
от заданной координаты?
или другими словами, это кто-то вроде этого:
, как взять все купоны бизнес-идентификатор, а затем перейти к бизнес-таблицы, и проверить, если радиус этого места ИНО находится менее чем в 10 км от данного места?
Я думаю, что это связано с inner join
, не уверен.
Я работаю в hibernate framework на Java.
Пожалуйста, помогите мне, спасибо заранее!
До тех пор, пока вы знаете формулу расчета расстояния, основанную на координатах карты, остальное - это тривиальная 'INNER JOIN'. –
Какой двигатель базы данных вы используете? SQL Server, например, поддерживает встроенные пространственные координаты. – acfrancis
@ PM77-1 Как использовать 'INNER JOIN'? – Billie