2017-02-15 14 views
0

Ich versuche, diese AbfrageWHERE und UND in SQL

select from_ from uploaded_emails1 
where uploaded_emails1.from_ != '[email protected]_domain.com' 
and uploaded_emails1.from_ not in candidate_emails1.email 

Aber ich erhalte den Fehler No such table candidate_emails1.email zu laufen. Aber wenn ich select email from candidate_emails1 ausführen, läuft es gut.

Was mache ich falsch?

Antwort

2

Alias ​​candidate_emails1 nicht in der SQL-

versuchen definiert

select from_ from uploaded_emails1 
where uploaded_emails1.from_ != '[email protected]_domain.com' 
and uploaded_emails1.from_ not in(select emails from candidate_emails1) 
+1

Ahh, das funktioniert! Vielen Dank! –

+0

Ich werde in 4 Minuten akzeptieren :-) –

+0

3 Stunden später ... – KindaTechy

0

Versuchen:

SELECT from_ FROM uploaded_emails1, candidate_emails1 
WHERE uploaded_emails1.from_ != '[email protected]_domain.com' 
AND uploaded_emails1.from_ != candidate_emails1.email 
0

Es gibt zwei Möglichkeiten, dies zu tun, indem Sie entweder eine NOT IN-Klausel oder eine NOT EXISTS Klausel:

SELECT 
    from_ 
FROM uploaded_emails1 
WHERE uploaded_emails1.from_ != '[email protected]_domain.com' 
AND NOT EXISTS (
    SELECT * 
    FROM candidate_emails1 
    WHERE candidate_emails1.email = uploaded_emails1.from_ 
); 

... oder ...

SELECT 
    from_ 
FROM uploaded_emails1 
WHERE uploaded_emails1.from_ != '[email protected]_domain.com' 
AND uploaded_emails1.from_ NOT IN (
    SELECT email 
    FROM candidate_emails1 
);