次の表を考えます。
table A (id, latitude, longitude)
table B (id, latitude, longitude)
A の各行を B の最も近い行に関連付ける効率的な T-SQL クエリを作成するにはどうすればよいですか?
ResultSet には、A のすべての行が含まれ、それらを B の 1 つの要素のみに関連付ける必要があります。私が探している形式は次のとおりです。
(A.id, B.id, distanceAB)
緯度と経度の 2 つのペアを指定して距離を計算する関数があります。order by ... limit 1
and/orを使用して何かを試してみましrank() over (partition by ...) as rowCount ... where rowCount = 1
たが、結果は実際には必要なものではないか、戻るのに時間がかかりすぎます。
何か不足していますか?