我有两个城市表格,如下所示:
表1
Place.1 | Latitude.1 | Longitude.1
表2
Place.2 | Latitude.2 | Longitude.2
这两个表中的很多地方是相同的,但我不能根据Place
名称加入它们,因为它们使用不同的语言,因此我考虑根据最小距离加入。
有一种方法可以计算球体上两点之间的大圆距离(我已经实现了这个功能)。任何想法如何在表1中找到表2中每个地方最近的位置??
非常感谢您的帮助!
亚历
答案 0 :(得分:1)
您可以使用cross apply
:
select t1.*, t2.*
from table1 t1 cross apply
(select top 1 t2.*
from table2 t2
order by distance(t1, t2) -- put your appropriate function here
) t2;