この質問は何度も投稿されましたが、間違った結果が得られたため、同じものを投稿する必要がありました。何が間違っているのか誰でも助けてくれますか。
私が必要としているのは、Cust_Master で指定された顧客の最も近い倉庫名と、WH と顧客の間の距離です。
以下のように2つのテーブルがあります。
WH_マスター
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 が最寄りの倉庫であり、Google によると距離は 1.8 KM です。しかし、間違っている 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 を使用しています。