【发布时间】:2017-06-08 15:17:23
【问题描述】:
我有两张桌子; Table1(名称、纬度、经度)有 400 条记录,Table2(名称、纬度、经度)有 10,000 条记录。
我想查找 Table2 中物理上接近 Table1 中 400 条记录的所有记录。 (不包括表1中的所有400条记录)。
我有一个函数可以计算出两条记录之间的距离。我的问题是在 SQL 中,我不知道如何为 Table1 中的每条记录、Table2 中的每条记录运行它。我正在调用我的函数,如下所示;
dbo.fnCalcDistanceKM(item1.lat, item2.lat, item1.long, item2.long) < 0.150
这会获取两个坐标之间的距离,并且只会返回在 150 米内的坐标。它工作正常,但我正在努力为 Table1 中的每条记录运行它,而不是 Table2 中的每条记录。
任何指针都会非常感谢!我认为这在 SQL 中相当简单,但我的经验不足。
【问题讨论】:
-
fnCalcDistanceKM 函数有什么作用?
-
这是什么类型的函数?标量函数?表值函数?
标签: sql sql-server sql-server-2008 sql-server-2012