这个问题被发布了很多次,但由于得到的结果不正确,我不得不再次发布相同的问题。任何人都可以帮助我做错了什么。
我需要的是 Cust_Master 中给定客户的最近仓库名称以及 WH 和客户之间的距离
我有 2 张桌子,如下所示。
WH_Master
WH_Name Latitude Longitude
----------- --------- ---------
Horamavu 13.02457 77.65723
White Field 12.985278 77.729899
Hennur 13.030672 77.634034
客户大师
Cust_ID Latitude Longitude
------- --------- ---------
Cust-1 13.025579 77.6515
我尝试了以下选项,它给了我错误的距离和位置。对于示例中的当前客户,Horamavu 是最近的仓库,根据谷歌,距离为 1.8 公里。但是我得到 0.751 这是错误的。
我使用的查询如下。
SELECT Top 1 WH_Name, (( 6367.45 * acos( cos( radians(13.025579) ) * cos( radians( Latitude ) ) * cos( radians( Longitude ) - radians(77.6515) ) + sin( radians(13.025579) ) * sin( radians( Latitude ) ) ) )) AS distance_KM FROM WH_Master
不幸的是,这让我也一样WH_Name
,而且距离也是错误的。你能告诉我正确的查询吗?我使用 MS SQL Server 作为我的数据库。