>>>>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>>