2016-04-06 2 views
0

Ich versuche aus der Datenbank 4000+ Datensätze auszuwählen und mir ist klar, dass 800 von ihnen nicht in der Datenbank sind.So isolieren Sie eine Liste von Datensätzen, die nicht in der Datenbank existieren

Die folgende Abfrage gibt drei Zeilen (E-Mails) zurück und nur eine von ihnen ist noch nicht in der Datenbank, gibt es eine Möglichkeit, eine Liste von denen, die nicht in der Datenbank sind?

SELECT email FROM email_list WHERE email IN ('[email protected]', '[email protected]', '[email protected]', '[email protected]');

Dank

+0

Und warum funktioniert Ihre Abfrage nicht? –

Antwort

0

Verwenden NOT EXIST in Ihrer where-Klausel:

...WHERE NOT EXISTS (query_to_get_the_unwanted_records) 
0

Verwenden Mysql Funktion EXIST oder EXIST Nicht

Beispielabfrage:

SELECT * 
FROM customers 
WHERE EXISTS (SELECT * 
       FROM order_details 
       WHERE customers.customer_id = orders.customer_id); 

SELECT * 
FROM customers 
WHERE NOT EXISTS (SELECT * 
        FROM order_details 
        WHERE customers.customer_id = orders.customer_id); 
+0

Es funktioniert nicht für meine Abfrage, da ich eine kommagetrennte Liste zum Testen habe. –

Verwandte Themen