1. SELECT SQL_CALC_FOUND_ROWS
  2. *,
  3. ACOS( SIN( :latitude * ( PI( ) /180 ) ) * SIN( latitude * ( PI( ) /180 ) ) + COS( :latitude * ( PI( ) /180 ) ) * COS( latitude * ( PI( ) /180 ) ) * COS( (longitude * ( PI( ) /180 ) ) - ( :longitude * ( PI( ) /180 ) ) )) AS distance
  4. FROM registration WHERE latitude BETWEEN : resLatLeft AND : resLatRight AND longitude BETWEEN : resLonLeft AND : resLonRight AND published = 1
  5. ORDER BY distance ASC LIMIT 0, 12


Chce do tego dodac:
  1. WHERE distance BETWEEN :distanceFrom AND :distanceTo


Niestety nie moge uzywac wartosci wyliczanej w locie jako warunku w WHERE, moge natomiast uzyc HAVING ale problem polega na tym, ze SQL_CALC_FOUND_ROWS zwraca mi liczbe wierszy ignorujac klauzule HAVING.
Czy jest jakis sposob zeby to obejsc? Czy musze tworzyc jakas tablice tymczasowa i dopiero z niej wybierac?