Utilisez where
ici au lieu de having
.
having
est utile pour restreindre les conditions sur les valeurs agrégées.where
est utile pour restreindre les conditions sur les données non agrégées.
Mettre à jour
SQL Server n'est pas MySQL, ce qui marche sur un...
- Peut juste travailler de l'autre
- Peut devoir être légèrement modifié pour fonctionner
- Peut nécessiter une refonte complète avant que cela fonctionne.
Cela devrait être ce dont vous avez besoin
SELECT Id,
Name1,
ZipCode,
StreetName,
StreetNumber,
State1,
Lat,
Lng,
Keyword,
( 6371 * ACOS( COS( (12.925432/57.2958) ) * COS( (Lat/57.2958) ) * COS( ( Lng/57.2958 ) - (77.5940171/57.2958) ) + SIN( 12.925432/57.2958 ) * SIN( Lat/57.2958 ) ) ) AS distance
FROM Business_Details
where (Keyword like '%plumber%')
and ( 6371 * ACOS( COS( (12.925432/57.2958) ) * COS( (Lat/57.2958) ) * COS( ( Lng/57.2958 ) - (77.5940171/57.2958) ) + SIN( 12.925432/57.2958 ) * SIN( Lat/57.2958 ) ) ) < 1.5
ORDER BY ( 6371 * ACOS( COS( (12.925432/57.2958) ) * COS( (Lat/57.2958) ) * COS( ( Lng/57.2958 ) - (77.5940171/57.2958) ) + SIN( 12.925432/57.2958 ) * SIN( Lat/57.2958 ) ) ) ;