Итак, у меня есть два стола.Users содержит основную информацию о пользователе, а user_address содержит адрес пользователя '.Довольно просто.
У меня есть поисковая форма, которая позволяет пользователям искать.Одно поле поиска ищет несколько столбцов, используя LIKE.Он позволяет пользователям получать по их ...
названию компании (указанному в таблице пользователей) Имя (указанному в таблице адресов пользователей) Адрес электронной почты (таблица адресов пользователей) Телефон 1 (таблица адресов пользователей) Телефон 2(таблица адресов пользователей)
Форма запускает Ajax, который передает значение поиска на страницу поиска через $ _POST.
$ значение затем присваивается из $ _POST, фильтруется и затем передаетсяна запрос mysql.
В обычном случае, когда пользователь существует, а для пользователя существуют адреса, приведенный ниже запрос работает отлично.
Проблема в том, что иногда, когда «пользователь» добавляется в базу данных, адрес не вводится сразу.В этом случае при попытке поиска пользователя он не найден.
Он мне нужен, чтобы найти пользователей независимо от того, введен адрес или нет.Я пробовал «ПРИСОЕДИНЯТЬСЯ», «ВЛЕВО», «ВПРАВО», «ВНУТРЕННЕЕ СОЕДИНЕНИЕ» и т. Д. Кажется, ничего не работает.И по какой-то причине левое соединение замедляется вниз по запросу, а когда запрос запускается, страница застревает.
"SELECT u.id,u.company,a.name as address_name
FROM Users as u
JOIN User_Address as a ON a.user_id = u.id
WHERE a.name LIKE '%$value%' OR u.company LIKE '%$value%' OR a.email LIKE '%$value%' OR a.phone_1 LIKE '%$value%' OR a.phone_2 LIKE '%$value%' GROUP BY u.id”
Опять проблема с поиском заключается в том, что пользователь существует в таблице User, нодля этого пользователя в таблице адресов пользователей нет адресов.