Я создаю веб-сайт, и мне нужен запрос для возврата пользователей на основе близости, используя координаты GPS, но также только в том случае, если у пользователя также есть фотография, помеченная как частная. Таблица фотографий называется 'photos', а идентификатор, к которому принадлежит фотография, - это столбец user_id. Такое же имя столбца также существует в таблице пользователей для каждого пользователя. То, что я пытаюсь сделать, это использовать подзапрос, чтобы увидеть, есть ли у пользователя какие-либо фотографии, помеченные как private (private = 1) в таблице фотографий, и, если это так, вернуть этого пользователя и некоторую базовую информацию.
Для некоторыхпричина, по которой мой запрос не будет работать, и я уже давно борюсь с этим. Любая помощь будет принята с благодарностью!
Вот созданный мной запрос, который не работает. Я пробовал и много других запросов.
SELECT users.user_id,
users.display,
users.lat,
users.lng,
users.featured,
profile.type,
profile.user_id,
( 3959 * Acos(Cos(Radians('41.6032207')) * Cos(Radians(users.lat)) * Cos(
Radians(users.lng) - Radians('-73.087749')) +
Sin(Radians('41.6032207')) * Sin(
Radians(users.lat))) )
AS distance,
Count(photos.photo_id) 'Photo Count'
FROM users,
profile
INNER JOIN photos
ON users.user_id = photos.user_id
AND photos.private = 1
GROUP BY users.user_id
HAVING Count(photos.photo_id) > 0
AND users.account_type = '1'
AND profile.user_id = users.user_id
AND users.active = '1'
AND distance <= '10'