Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : requete SQL [ Divers / General ] (Michele)

samedi 10 juin 2006 à 08:31:36 | requete SQL

Michele

Bonjour
 Je cherche depuis pas mal de temps à extraire de ma base de données les
 enregistrements de deux champs, mais à exclure les enregistrements lorsque 
le
champ email est dupliqué ou vide ce qui n'est pas le cas avec la requete
 ci-dessous
SqlEmail = "SELECT DISTINCT email, NomPrenon FROM Membre where echeance > #"
 & MaDate & "# ORDER BY NomPrenon"
 Merci pour votre aide

Michele

dimanche 11 juin 2006 à 13:03:27 | Re : requete SQL

jack

Administrateur CodeS-SourceS
Salut
Pour les enregistrements dupliqués, "Distinct" devrait fonctionne, mais je crois que Distinct s'adresse à l'ensemble des champs demandés : Donc il faudra que "email" et "NomPrenom" soient indentiques pour que la requète les exclue.
Tu peux aussi délaisser ce problème sous SQL et traiter le problème une fois les données reçues et écarter les données en double.
Tester les champs vides : Suffit d'ajouter une clause :
   "Select Distinct email, NomPrenon " & _
   "  From Membre " & _
   " Where echeance > #" & MaDate & "# " & _
   "   And email is not null " & _
   " Order By NomPrenon"


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

dimanche 11 juin 2006 à 20:44:56 | Re : requete SQL

Michele

Bonsoir
Merci pour ta reponse

Distinct fonctionne correctement si les deux champs sont identiques et il n'est pas necessaire de mettre la clause is not null car dès que l'un des deux champs est vide l'enregistrement n'est pas affiché.
Je pense que j'ai du mal formuler ma demande en fait je veux afficher tous les enregistrements uniques du champ email ceci a pour but de ne pas envoyer deux fois le même email.
mais comme une adresse email n'est pas representative je veux conserver le champ NomPrenom lié à chaque adresse email  
Michele


samedi 17 juin 2006 à 17:06:41 | Re : requete SQL

jack

Administrateur CodeS-SourceS
Salut
Alors il faut le faire en deux étapes :
- Rechercher les email uniques avec Distinct
- Une fois la liste dans le RecordSet, requestionner la DB pour demander le NomPrenom associé à chaque email.
Tu peux aussi continuer à ne faire qu'une seule requète en supprimant le Distinct et faire la recherche de doublon ensuite en supprimant les Record dont le champ email existe déjà dans le RecordSet (avec monRecordSet.Delete).

Quoique, en y reflechissant, on peut le faire en une seule requète complexe :
   "Select m1.email, m1.NomPrenon " & _
   "  From Membre m1 " & _
   " Where m1email in (Select Distinct m2.email " & _
   "                     from Membre m2 " & _
   "                    where m2.echeance > #" & MaDate & "#) " & _
   " Order By m1.NomPrenon"

Essaye, tu verras bien

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro



Cette discussion est classé dans : sql, enregistrements, requete, email, nomprenon


Répondre à ce message

Sujets en rapport avec ce message

Compter les enregistrements d'une requete SQL [ par JCLK ] Je travaille habituellement avec ColdFusion, et j'ai du mal a transformer mes programmes en ASP.Je voudrais compter les enregistrements d'une requete Probleme requete SQL [ par steph ] Bonjour à touscomment faire dans une requete SQL pour sélectionner des enregistrements avec une clause WHERE faisant référence à une TEXTBOX du formul Requete SQL [ par funtay ] bonjour, j'ai un problème de syntaxe dans une requete SQL.En fait ,j'ai une date de début (c'est un maskedbox( txt_datedeb)) et une date de fin (c'est URGENT!! SQL et Excel [ par HicHic ] Je veux creer une boite de dialogue qui me sert à un choix multiple comme criteres de selection dans une requete SQL. et recuperer les resultats dans Verifier si enregisrement lors d'une requete SQL? [ par tom ] Comment puis je faire pour verifier si un recordSet a bien un enregistrement pour ne plus avoir l'erreur:"pas d'enregisrement courant"lorsque je fais requete sql sous VB [ par Valerie ] Je souhaite faire une requete sql sous vb.Dans cette requete je doit prendre certain champs obligatoire et d'autre uniquement si un champ est a vrai d Requete SQL pour touver un maximum dans une colonne [ par Alain ] Comment trouver un maximum dans une colonne????Voici ma ligne en VB6, mais cela ne fonctionne pas!Recordset.open "SELECT MAX(colonne) from table"Comme constructeur de requete sql [ par thierry ] eh salut les gars et les fillesquelqu'un aurit il le code vb pour pouvoir construire des requetes sqltchaoa+ constructeur de requete sql [ par thierry ] eh salut les gars et les fillesquelqu'un aurait il le code vb pour pouvoir construire des requetes sql cad une procedure qui les construits suivants p Récupérer un résultat de requete SQL sur plusieures tables... [ par Timothee ] Bonjour, je programme avec une base donnée DBaseIV et je voudrais savoir comment récupérer le résultat d'une requete du style "SELECT Champs1 FROM tab


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.