0 votes

problème de comparaison de listes mysql avec la logique d'interrogation

Je compare deux listes d'adresses électroniques dans mysql - listA et listB (qui sont toutes deux des vues). À l'origine, je voulais trouver toutes les adresses électroniques de la liste A qui ne figurent pas dans la liste B. J'ai réussi à le faire avec l'aide d'un outil de recherche. J'ai réussi à le faire avec :

$comparison_query = mysql_query("SELECT DISTINCT email_addresses FROM listA WHERE email_addresses NOT IN (SELECT DISTINCT email_addresses FROM listB) ORDER BY email_addresses");

Maintenant, je veux trouver toutes les adresses électroniques de la listeA qui ne sont pas dans la listeB OU un tableau d'exceptions. J'ai essayé de le faire avec :

$comparison_query = mysql_query("SELECT email_addresses FROM listA WHERE email_addresses NOT IN (SELECT DISTINCT email_addresses FROM ((SELECT email_addresses FROM listB) UNION (SELECT email_addresses FROM exception))) ORDER BY email_addresses");

Cependant, cela ne fonctionne pas. Quelqu'un peut-il voir où je fais fausse route ?

Merci !

1voto

Mike Points 11170

Je pense que quelque chose comme ça devrait faire l'affaire :

SELECT email_addresses FROM listA
WHERE email_addresses NOT IN
(SELECT DISTINCT email_addresses FROM FROM listB)
AND email_addresses NOT IN
(SELECT email_addresses FROM exception);

1voto

Salil Points 20300

UTILISER AND au lieu de UNION

 mysql_query("SELECT email_addresses FROM listA
        WHERE email_addresses  NOT IN
        ( SELECT DISTINCT email_addresses FROM listB) AND 
         email_addresses  NOT IN
        (SELECT DISTINCT email_addresses FROM exception)) 
        ORDER BY email_addresses");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X