0
這個問題被張貼了很多次,但我不得不張貼相同的由於不正確的結果得到。任何人都可以幫助我做錯什麼。Sql查詢計算2緯度和經度之間的距離
我需要的是在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_Master
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作爲我的數據庫。
你檢查是否由谷歌返回距離爲公里或英里? –
根據谷歌它是1.8公里,我的手機返回0.751 – Subash
查詢中的數字從哪裏來?示例表中的數字不同。你爲什麼要從表中選擇,但在投影中只有常量? – jboi