SELECT From MySQL View с предложением HAVING возвращает пустой набор результатов

У меня и моего делового партнера возникают проблемы при выборе из представления MySQL, в котором есть предложение HAVING.

Запрос просто выбирает несколько полей в представлении, динамически определяет расстояние с помощью нескольких вычислений и называет его как «расстояние», а затем ограничивает результаты теми строками, расстояние которых меньше заданной переменной.

Расстояние рассчитывается по формуле Haversine, на которую ссылается Google Maps:https://developers.google.com/maps/articles/phpsqlsearch

Вот что я знаю:

1) Когда предложение HAVING удаляется из запроса, оно возвращает все результаты в представлении успешно,включая рассчитанное «расстояние» для каждой строки

2) Когда в запрос добавлено предложение HAVING, он возвращает пустой набор результатов.

3) Мы также попытались заменить переменную в предложении HAVING на статическое число - это также вернуло пустой набор результатов.

Содержание представления кажется неактуальным, поскольку все работает без предложения HAVING.

Вот запрос:

SELECT 
restaurantName, 
restaurantID, 
locationID, 
locationCity, 
locationState, 
locationAddress, 
locationLatitude, 
locationLongitude,
( 3959 * acos( cos( radians('%s') ) * cos( radians( locationLatitude ) ) * cos( radians( locationLongitude ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( locationLatitude ) ) ) ) AS distance 
FROM newView 
HAVING distance < '%s' 
ORDER BY distance

Помните, что представление вычисляет «расстояние» для каждой выбранной строки совершенно без предложения HAVING, поэтому мы убеждены, что проблема заключается в этом ... когда мы его убираем, все работает, но каждая строка в представлении возвращается.

Любые идеи, почему предложение HAVING возвращает пустой набор? Предложение HAVING не совместимо с представлениями?

Ответы на вопрос(2)

Ваш ответ на вопрос