У меня есть список отчетов арендаторов, каждая ссылка указывает на идентификатор отчета.
Мне нужен этот запрос для выбора информации отчета и некоторой информации, относящейся к арендатору, который его отправляет.
Этот запрос корректно получает информацию отчета, но возвращает копии с каждым прикрепленным к нему арендатором:
SELECT
reports.person_reporting, reports.request_type, reports.details, tenants.office,
tenants.email, tenants.alt_email, tenants.office_phone, tenants.personal_cell,
tenants.emergency_phone, tenants.address, tenants.building_name
FROM reports, tenants
WHERE reports.id = '{$id}'
AND (
tenants.email = reports.email
OR tenants.alt_email = reports.alt_email
)
в этом предложении AND
мне нужно, чтобы он соответствовал адресу электронной почты клиента с адресом, содержащимся в отчете, с указанным идентификатором. Но каждый арендатор получает только электронную почту или альтернативную электронную почту, которая совпадает с любой электронной или альтернативной электронной почтой в отчетах (почти все, поскольку в большинстве из них не указана альтернативная электронная почта).
Есть ли для меня способ сделать это?
обновление
Моя проблема заключалась в том, что было много пустых полей alt_email, и он просто собирал их все. Приведенные ниже ответы были правильными при фильтрации пустых полей, но я просто изменил свое предложение OR на предложение AND, что было более понятно о том, как я хочу сопоставить их в любом случае: они оба должны совпадать, поскольку не должно быть дубликатов электронные письма в базе данных.