bonjour,

ce matin, j'avais posté un sujet http://www.developpez.net/forums/sho...d.php?t=136155

sur le meme soucis, j'utilise des conseils qu'on m'a donné mais il semble que ce ne soit pas assez. mon soucis est sans doute plus logique que technique

TABLES:
abonne(id,etat,nom, prenom, dateinscription....)
parrainage(idparrain, idfilleul) (c'est une récursive ou un utilisateur parraine un autre utilisateur)
message(id_message)
envoi(idabonne_envoi,idmessageenvoi)//on sauvegarde ici les messages envoyés aux utilisateurs.

REQUETE VOULU
j'aimerai savoir quel sont les abonnes qui:
1.ne sont pas filleul
2.n'ont pa recu de message dont l'id_message = 5
3.ont l'état = 2
4.dont la date d'inscription date de plus de 7 jours

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
SELECT* 
FROM abonne
LEFT JOIN parrainage 
ON abonne.id_abonne = parrainage.idfilleul_parrainage
LEFT JOIN envoi 
ON abonne.id_abonne = envoi.idabonne_envoi
WHERE parrainage.idfilleul_parrainage IS NULL //non parrainé
AND envoi.idmessage_envoi <>5 // différent de 5, ca peut être 'NULL' aussi, non ?
AND abonne.etat_abonne =2
AND abonne.dateparrainage_abonne <=date_add(now(),INTERVAL-7 DAY)
merci pour votre aide