Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 23/06/2011, 11h28   #1
Membre actif
 
Inscription : mai 2004
Messages : 725
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 725
Points : 193
Points : 193
Par défaut Comment filtrer une requete SQL deja complexe avec une autre liste de conditions de filtrage ?

Bonjour,

Je dois développer un journal qui contient une liste de mails avec erreurs.
Pour chaque email avec erreur, je dois vérifier que le destinataire de l’email existe dans une liste d’emails corrects.

Cette liste d’emails corrects est obtenue à partir de chaque email avec erreur à l’aide d’un web service.
Comment créer une solution avec java ou SQL qui va vérifier que chaque email destinataire existe dans une liste ?


Voici la solution que je propose :
Pour chaque email avec erreur du journal
1. obtenir la liste des emails corrects depuis un web service (c’est le seul moyen de récupérer cette liste)
2. Avec une requête SQL vérifier que le destinataire existe dans cette liste
3. Si le destinataire n’existe pas dans cette liste alors il faut ajouter l’ID de cet email avec erreur dans une liste des emails avec destinataires incorrects.

Lorsqu’on a récupéré cette liste d’email avec erreur qui a un destinataire incorrect, il faut filtrer encore cette liste d’emails avec erreurs avec d’autres conditions.
Donc la dernière requête sera de ce style :

Code :
1
2
3
4
5
6
7
 
SELECT * 
FROM journal_envoi_document j1,journal_envoi_document j2
WHERE j1.JED_ID_DOCUMENT_ENVOI = j2.JED_ID_DOCUMENT_ENVOI AND j1.JED_MAIL_DESTINATAIRE = j2.JED_MAIL_DESTINATAIRE
AND j2.JED_DATE_SOUMISSION > j1.JED_DATE_SOUMISSION 
AND ….X conditions ici
AND j1. JED_ID_DOCUMENT_ENVOI IS NOT IN (‘ id_destinataire_incorrect1‘,’ id_destinataire_incorrect2’,’ id_destinataire_incorrect3’,’ id_destinataire_incorrect4’,…)

Je vais filtrer cette liste d’emails incorrects de cette façon :

Code :
1
2
 
AND j1. JED_ID_DOCUMENT_ENVOI IS NOT IN (‘ id_destinataire_incorrect1‘,’ id_destinataire_incorrect2’,’ id_destinataire_incorrect3’,’ id_destinataire_incorrect4’,…)
Pensez vous que cette solution est trop compliqué ? Peut-elle être simplifiée ? Est elle cohérente ?

Merci
Battosaiii est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h52.


 
 
 
 
Partenaires

Hébergement Web