Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/04/2006, 17h19   #1
Membre du Club
 
Développeur informatique
Inscription : août 2004
Messages : 136
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 136
Points : 52
Points : 52
Envoyer un message via MSN à Zen_Fou
Par défaut [MySQL 4.1.17] requete un peu compliqué à faire

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 :
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
Zen_Fou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 17h41   #2
Membre du Club
 
Développeur informatique
Inscription : août 2004
Messages : 136
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 136
Points : 52
Points : 52
Envoyer un message via MSN à Zen_Fou
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
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 
AND envoi.idmessage_envoi <> 5
AND abonne.etat_abonne = 2 
AND abonne.dateparrainage_abonne <= date_add(now(), interval - 7 DAY)
 
OR parrainage.idfilleul_parrainage IS NULL 
AND envoi.idmessage_envoi IS NULL
AND abonne.etat_abonne = 2 
AND abonne.dateparrainage_abonne <= date_add(now(), interval - 7 DAY)
merci quand meme. j'ai cherché cette requete depuis ce matin
Zen_Fou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h51.


 
 
 
 
Partenaires

Hébergement Web