私は、このSQLスクリプトを書いた:SQLスクリプトをリファクタリング
DECLARE @location geography
DECLARE @radius int
SET @location = (SELECT Location FROM Hydrants WHERE HydrantId = 2)
SET @radius = (SELECT Radius FROM Hydrants WHERE HydrantId = 2)
SELECT *
FROM Sites
WHERE @location.STDistance(location) < @radius
ORDER BY SiteId ASC
私は
SELECT *
FROM Sites, Hydrants
Inner Join Hydrants.Location.STDistance(Sites.Location) < Hydrants.Radius
WHERE Hydrants.HydrantId = 2
ORDER BY Sites.SiteId ASC;
しかし運なしでそれをリファクタリングするこれをしました。
アドバイスをお待ちしております。
問題は何ですか?私の心の読書装置は今日フリッツにあります。 – JohnFx
通常は、使用している特定のRDBMSを含めることをお勧めします。このSQL Serverは、もしあれば、どのバージョンですか? – Dan
@DanNewhouse SQL Serverには2K8から始まる 'geography'データ型しかないと思います。 – Yuck