我有一個包含多行的表。該表具有非空的地理類型列。在帶有地理列的表上查詢SQL查詢是否存在與同一表中任何其他行的某個距離內的任何行
可以說我有一個表格,包含以下列:ID,緯度,經度,地理數據。 GeoData列是SQL Server 2016中的地理類型。
我知道如何在距離單個點一定距離內找到行。
什麼我掙扎是編寫一個查詢,將比較所有行對所有其他行不包括本身* .ID <> * .ID
我有類似的東西:
SELECT * FROM GeoTable tableA
INNER JOIN GeoTable tableB ON tableA.ID = tableB.ID
WHERE tableA.GeoData.STDistance(tableB.GeoData) <= 500 AND tableA.ID <>
tableB.ID
但它沒有做我想做的事。
任何幫助將不勝感激!