1

と がtable1ありtable2ます。

table1 contains ZipCode (varchar(12)), GeogCol1 (Geography)-spatial index
table2 contains ZipCode (varchar(12)), Product (varchar(12))

両方のテーブルに含まれていると想定されるProduct'sユーザー提供者から特定の半径内にあるすべてを返し、返されたそれぞれからを表示し、提供されたものでソートまたは逆ソートするオプションをユーザーに提供する必要があります。Zipcode ('90266')distanceZipcodeProductProductsdistanceZipcode

クエリ 1- これが私の半径距離クエリです。

SELECT h.* 
FROM table1 g  
JOIN table1 h on g.Zipcode <> h.Zipcode AND g.Zipcode = '90266' AND h.Zipcode <> '90266' 
WHERE g.GeogCol1.STDistance(h.GeogCol1)<=(10 * 1609.344) 
ORDER BY g.GeogCol1.STDistance(h.GeogCol1)

クエリ 2- これが私の製品クエリです。

SELECT * 
FROM table2 
WHERE (Active = 1) AND (ProductName LIKE '%54%')

また、単一のテーブルに対してクエリを実行できるように、各製品の他の情報と共にGeogCol1空間インデックスを配置したほうがよいでしょうか?table2

4

1 に答える 1