SELECT * FROM table1 WHERE valeur1.table1 != valeur2.table2

Petit nouveau ! | 2 Messages

08 févr. 2012, 19:48

Bonjour à tous,

Je seche sur une requete MySQL

Je cherche à selectionner toutes les lignes d'une table (table1) dont une des valeur (valeur1) est inexsistant dans une autre table

Pour clarifier je fait un envoie de Newsletter en PHP et j'enregistre chaque envoie dans une table 'emailing_record'
je voudrai que dans le cas où j'ai effectuer un envoie partiel, à chaque nouvel envoie j'exclue de ma mailing liste tout les abonnés qui on déjà reçu la Newsletter d'une campagne de mailing X

ça pourrait ressembler à ça :
SELECT * FROM 'user_internautes' WHERE id_intenaute.user_internautes != id_user_destinataire.emailing_record
ou plus shematiquement :
 SELECT * FROM 'table1' WHERE valeur1.table1 != valeur2.table2
Je ne suis pas trop habitué aux jonctions de table et je pense que la réponse s'y trouve mais je n'arrive pas à formuler ma requête.

Si vous pouvez m'aider ce serai super, merci d'avance

----------------------------
Tout est simple à partir du moment ou on a compris
Modifié en dernier par JaxX le 08 févr. 2012, 19:58, modifié 1 fois.

ViPHP
xTG
ViPHP | 7331 Messages

08 févr. 2012, 19:52

Simple problème de syntaxe à ce que je comprend de ton problème.
La prochaine fois, penses à potasser la documentation et tu auras la réponse facilement. ;)
SELECT * FROM table1, tabl2 WHERE table1.valeur1 != table2.valeur2
Ou bien :
SELECT * FROM table1
MINUS
SELECT * FROM table2
Mais sachant que l'opération MINUS n'est pas implémentée par tous les SGBD.

Petit nouveau ! | 2 Messages

08 févr. 2012, 20:01

Merci Beaucoup :priere:

En fait ça fait plusieurs heures que je potasse différents sites de référence mysql mais je n'arrive pas à orienter mes recherches,
c'est vraiment en dernier recours que je me suis résolu à poster sur le forum.

J'essaye tout de suite
Merci encore :)