私は複数の行を持つテーブルを持っています。表には、非ヌル地理タイプの列があります。同じテーブル内の他の行から特定の距離以内にある行がある場合、地理的な列を持つテーブルのSQLクエリ
私は、ID、Latitude、Longitude、GeoDataという列を持つテーブルを持っているとします。 GeoData列はSQL Server 2016の地理的な種類の列です。
私は単一の点から特定の距離内の行を見つける方法を知っています。
は何で私が苦労していますと、* .ID自体を除く他のすべての行に対して、すべての行を比較するクエリを記述することである<> * .ID
私はそのようなものがあります。
SELECT * FROM GeoTable tableA
INNER JOIN GeoTable tableB ON tableA.ID = tableB.ID
WHERE tableA.GeoData.STDistance(tableB.GeoData) <= 500 AND tableA.ID <>
tableB.ID
をしかし、それは私がしたいことをしていない。
ご協力いただければ幸いです!