Как прокомментировал marc_s "HAVING
следует использовать только с условиями, которые включают агрегатную функцию, такую как SUM
, COUNT
et c. В противном случае, если у вас нет агрегата в вашем условии, используйте WHERE
вместо "
И вы не можете получить доступ к вычисляемому столбцу напрямую в предложении having
или where
. Поэтому вместо этого сделайте подзапрос:
select *
from (
select *,
acos(cos(33.7103820972222 * (PI()/180)) *
cos(73.05794 * (PI()/180)) *
cos(Lat * (PI()/180)) *
cos(Lon * (PI()/180))
+
cos(33.7103820972222 * (PI()/180)) *
sin(73.05794 * (PI()/180)) *
cos(Lat * (PI()/180)) *
sin(Lon * (PI()/180))
+
sin(33.7103820972222 * (PI()/180)) *
sin(73.05794 * (PI()/180))
) * 3959 AS Dist
from tblOrg
) x
where Dist < 5
order by Dist