Я написал этот сценарий SQL:
DECLARE @location geography
DECLARE @radius int
SET @location = (SELECT Location FROM Hydrants WHERE HydrantId = 2)
SET @radius = (SELECT Radius FROM Hydrants WHERE HydrantId = 2)
SELECT *
FROM Sites
WHERE @location.STDistance(location) < @radius
ORDER BY SiteId ASC
Я сделал это для рефакторинга
SELECT *
FROM Sites, Hydrants
Inner Join Hydrants.Location.STDistance(Sites.Location) < Hydrants.Radius
WHERE Hydrants.HydrantId = 2
ORDER BY Sites.SiteId ASC;
но без везения.
Любой совет будет приветствоваться.