>>>DECLARE @Latitude Float >>>DECLARE @Latitude2 Float >>>DECLARE @Longitude Float >>>DECLARE @Longitude2 Float >>>DECLARE @Latitude3 Float >>>DECLARE @Latitude4 Float >>>DECLARE @Longitude3 Float >>>DECLARE @Latitude5 Float >>>DECLARE @Latitude6 Float >>>DECLARE @Longitude4 Float >>>DECLARE @Latitude7 Float >>>DECLARE @Latitude8 Float >>>DECLARE @Longitude5 Float >>> >>>SET @Latitude=47.7795 >>>SET @Latitude2=47.7795 >>>SET @Longitude=-65.7191 >>>SET @Longitude2=-65.7191 >>>SET @Latitude3=47.7795 >>>SET @Latitude4=47.7795 >>>SET @Longitude3=-65.7191 >>>SET @Latitude5=47.7795 >>>SET @Latitude6=47.7795 >>>SET @Longitude4=-65.7191 >>>SET @Latitude7=47.7795 >>>SET @Latitude8=47.7795 >>>SET @Longitude5=-65.7191 >>> >>>SELECT Client.Numero FROM Client >>> WHERE (Client.Latitude>=@Latitude-250/111.0 AND Client.Latitude<=@Latitude2+250/111.0) AND >>>(Client.Longitude>=@Longitude-250/111.0 AND Client.Longitude<=@Longitude2+250/111.0) AND >>> 3958.75586574*ACOS( >>> CASE WHEN SIN(@Latitude3/57.2957795130823)*SIN(Client.Latitude/57.2957795130823)+ >>> COS(@Latitude4/57.2957795130823)*COS(Client.Latitude/57.2957795130823)* >>> COS(Client.Longitude/57.2957795130823-@Longitude3/57.2957795130823)<-1 >>> THEN -1 >>> WHEN SIN(@Latitude5/57.2957795130823)*SIN(Client.Latitude/57.2957795130823)+ >>> COS(@Latitude6/57.2957795130823)*COS(Client.Latitude/57.2957795130823)* >>> COS(Client.Longitude/57.2957795130823-@Longitude4/57.2957795130823)>1 >>> THEN 1 >>> ELSE SIN(@Latitude7/57.2957795130823)*SIN(Client.Latitude/57.2957795130823)+ >>> COS(@Latitude8/57.2957795130823)*COS(Client.Latitude/57.2957795130823)* >>> COS(Client.Longitude/57.2957795130823-@Longitude5/57.2957795130823) >>> END)<=250 >>>>>
>>;with cte as (SELECT Client.Numero, 3958.75586574*ACOS( >> CASE WHEN SIN(@Latitude3/57.2957795130823)*SIN(Client.Latitude/57.2957795130823)+ >> COS(@Latitude4/57.2957795130823)*COS(Client.Latitude/57.2957795130823)* >> COS(Client.Longitude/57.2957795130823-@Longitude3/57.2957795130823)<-1 >> THEN -1 >> WHEN SIN(@Latitude5/57.2957795130823)*SIN(Client.Latitude/57.2957795130823)+ >> COS(@Latitude6/57.2957795130823)*COS(Client.Latitude/57.2957795130823)* >> COS(Client.Longitude/57.2957795130823-@Longitude4/57.2957795130823)>1 >> THEN 1 >> ELSE SIN(@Latitude7/57.2957795130823)*SIN(Client.Latitude/57.2957795130823)+ >> COS(@Latitude8/57.2957795130823)*COS(Client.Latitude/57.2957795130823)* >> COS(Client.Longitude/57.2957795130823-@Longitude5/57.2957795130823) >> END) as Distance >> >>FROM dbo.Client >> >> >> WHERE (Client.Latitude>=@Latitude-250/111.0 AND Client.Latitude<=@Latitude2+250/111.0) AND >>(Client.Longitude>=@Longitude-250/111.0 AND Client.Longitude<=@Longitude2+250/111.0) ) >> >>select * from cte where Distance <=250>