我有这个查询,它运行良好,但我想首先根据最接近的结果进行排序:
SELECT DISTINCT Name, Address, City, State, Zip FROM Clinics WHERE ZIP IN
(SELECT h.zipcode FROM zipcodes
g JOIN zipcodes h on g.zipcode <>
h.zipcode AND g.zipcode = '32244' AND h.zipcode <> '32244'
WHERE g.GeogCol1.STDistance(h.GeogCol1)<=(100 * 1609.344))
UNION ALL SELECT DISTINCT Name, Address, City, State, Zip
FROM Clinics WHERE ZIP = '32244'
我试过这个:
SELECT DISTINCT Name, Address, City, State, Zip FROM Clinics
WHERE ZIP IN (SELECT h.zipcode FROM zipcodes
g JOIN zipcodes h on g.zipcode <>
h.zipcode AND g.zipcode = '32244' AND h.zipcode <> '32244'
WHERE g.GeogCol1.STDistance(h.GeogCol1)<=(100 * 1609.344))
UNION ALL SELECT DISTINCT Name, Address, City, State, Zip
FROM Clinics WHERE ZIP = '32244'
order by g.GeogCol1.STDistance(h.GeogCol1) DESC
但它给了我一个错误:
找不到列“g”或用户定义的函数或聚合“g.GeogCol1.STDistance”,或者名称不明确。
我这样做对吗?