Я пытаюсь вернуть все строки из [store]
с расстояния менее 10 миль. Таблица [Store]
имеет столбец типа Geography
.
Я понимаю, как найти расстояние между двумя конкретными точками, примерно так:
declare @origin geography
select @origin = geography::STPointFromText('POINT(' + CAST(-73.935242 AS
VARCHAR(20)) + ' ' + CAST(40.730610 AS VARCHAR(20)) + ')', 4326)
declare @destination geography
select @destination = geography::STPointFromText('POINT(' + CAST(-93.732666 AS VARCHAR(20)) + ' ' + CAST(30.274096 AS VARCHAR(20)) + ')', 4326)
select @origin.STDistance(@destination)/ 1609.344 as 'distance in miles'
У меня проблемы с применением этой логики к SELECT
заявлению. Вместо того, чтобы получать расстояние между @origin
и @destination
, я хотел бы получить расстояние в милях между @origin
и store.Geolocation
для всех рядов.