Мне нужна помощь в решении проблемы с SQL.
У меня есть три таблицы, Table1, Table2, Table3, все с полем «электронной почты», с которым они связаны друг с другом.
С другой стороны, у меня есть массив со списком электронных писем, которые я должен проверить, находятся ли они в одной из этих таблиц. Эти электронные письма также сохраняются в строке, разделенной запятыми, и с соответствующими кавычками, чтобы использовать их в IN (....):
$emails = ("'email1@example.com', 'email2@example.com', ....");
SELECT *
FROM Table t1
INNER JOIN Table2 t2 ON t1.email = t2.email
INNER JOIN Table3 t3 ON t1.email = t3.email
WHERE (t1.email IN ($ emails)) OR (t2.email IN ($ emails) ) OR (t3.email IN ($ emails));
В предыдущем примере я понял, что при выполнении INNER JOIN я сопоставлял таблицы по полю электронной почты, значение которого не во всех таблицах. Может случиться так, что электронное письмо не в какой-то таблице, а в другой да, поэтому мне нужен запрос SQL, чтобы получить электронные письма, которые находятся в ЛЮБОЙ из 3 таблиц.
Мне сказали, что я сделал временную таблицу из массива электронных писем, а затем выполнил ЛЕВОЕ СОЕДИНЕНИЕ между таблицами, и я смог ее получить, но я не знаю, как это сделать.
Не могли бы вы дать мне представление о том, как решить эту проблему?
Заранее спасибо.