我正在使用SQL Server。
我有两个这样的表:
表1 :
Column1, Column2, Column3, GeoLoc ----------------------------------- a b c 0xE61...
表2 :
Column1, Column2, Column3, GeoLoc ----------------------------------- a b c 0xE62...
我希望得到一个输出表,该表将比较两个表中所有的点,并告诉我在哪里table1有一个GeoLoc是的X距离之内GeoLoc的table2。
table1
GeoLoc
table2
有人知道该怎么做吗?一个表大约有800行,另一个表大约有300,000行。我很困惑,甚至从哪里开始…
假设您的GeoLoc列在SQL Server中为“地理位置”数据类型,则您应该可以使用以下内容:
select t1.*, t2.*, t1.GeoLoc.STDistance(t2.GeoLoc) as DistanceApart from table1 t1 join table2 t2 on (t1.GeoLoc.STDistance(t2.GeoLoc) <= @distanceX)
“ DistanceApart”和“ distanceX”值以米为单位