我有table1
和table2
。
table1 contains ZipCode (varchar(12)), GeogCol1 (Geography)-spatial index
table2 contains ZipCode (varchar(12)), Product (varchar(12))
我需要从假定包含在两个表中的用户返回Product's
一定半径内的所有内容,显示从到每个返回的,并为用户提供按到提供的排序或反向排序的选项。Zipcode ('90266')
distance
Zipcode
Product
Products
distance
Zipcode
查询 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
与每个产品的其他信息一起放入,这样查询可以针对单个表进行,会更好吗?