Проверка в 2 таблици

borislav123

New member
Колеги, искам да проверя за имейл, дали се среща в 2 таблици -

mails и en_mails

за проверка в едната таблица е

Код:
$res=mysql_query(" select * from mails where email='$mail'");

а за проверка и в двете ?
 
За: Проверка в 2 таблици

За: Проверка в 2 таблици

PHP:
$res=mysql_query("SELECT m.*, em.* FROM mails AS m LEFT JOIN en_mails AS em WHERE m.email = '$mail' OR em.email = '$mail'");

Хубаво е да не взимаш всички полета със * а да ги изброяваш.
 
За: Проверка в 2 таблици

За: Проверка в 2 таблици

$query = (" SELECT m.mail, en.mail from m, en WHERE m.mail='mail' AND en.mail='mail' ");
 
Re: За: Проверка в 2 таблици

Re: За: Проверка в 2 таблици

PHP:
$res=mysql_query("SELECT m.*, em.* FROM mails AS m LEFT JOIN en_mails AS em WHERE m.email = '$mail' OR em.email = '$mail'");

Хубаво е да не взимаш всички полета със * а да ги изброяваш.

Момчета, благодаря!

vkusno, пробвах твоя код но ми дава грешка, трябва ли да заменя нещо?
 
Re: Проверка в 2 таблици

Пробвай нещо такова:

Код:
select * from (
    select 'mails' as table_name, * from mails  where email='$mail'
    union
    select 'en_mails' as table_name, * from en_mails where email='$mail'
    ) cc;

На теория трябва да е по-бързо от join при големи таблици. Също получаваш в коя таблица е намерено като бонус. Недостатъка е, че изисква двете таблици да имат еднакви схеми. В противен случай ще трябва да изброяваш едно по едно полетата както каза vkusno.
 
Последно редактирано:

Back
Горе