У меня есть этот запрос.Что, кажется, дает мне осложнения.Это работает, если я уберу ограничение 3-х таблиц.Но мне нужно это третье табулирование, чтобы уточнить поиск, над которым я работаю.Моя проблема в том, что он не выдает мне ошибку, но не дает результатов, когда он должен дать по крайней мере 1 с данными, которые есть в моей БД.
SELECT loc.*,
a.firstname,
a.lastname,
a.profileimg,
(((acos(sin((37.2790669*pi()/180)) * sin((`latitude`*pi()/180))+cos((37.2790669*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((-121.874722 - `longitude`)*pi()/180))))*180/pi())*60*1.1515) AS `distance`
FROM geo_locations loc
JOIN memb_Info a ON a.mID = loc.mID
WHERE a.firstname LIKE 'Lisa%'
AND loc.primaryAddress = '1'
AND memb_x.xName LIKE '%Monkey'
ORDER BY `distance` ASC
, если я удаляю
AND memb_x.xName LIKE '%Monkey'
Я получаю результаты без проблем, но в таблице memb_x есть столбец xName, который является своего рода фильтром, который я хочу применить к приведенному выше запросу, но я, похоже, растерялся в том, как мне следует это обрабатывать.Я пытался правильно объединить внутреннее соединение, но это не принесло мне никакой пользы, что привело к дублированию результатов и результатов, которые на самом деле не покрывали того, чего я пытался достичь.
Так что разбейте его.То, что я хочу сделать, - это выполнить радиальный поиск моих участников, чтобы они могли видеть других участников в этой области. Это изначально будет происходить из geo_locations, с которой я пытаюсь получить информацию из возвращенных идентификаторов, чтобы я мог ВНУТРИ присоединиться ктаблица memb_Info для имени пользователя, фамилия и т. д., один соединитель между всеми таблицами - это mID, который является идентификатором члена.Теперь у этого идентификатора участника также в третьей таблице есть пользователи, которые имеют схожие интересы или фильтры, поэтому я хочу уменьшить свои результаты на основе этих фильтров, и именно здесь я не строю свой запрос должным образом, и мне нужна помощь в его исправлении.