Select count (distinct) avec jointure [Résolu]

Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Dernière intervention
27 janvier 2014
- 23 mars 2010 à 12:07 - Dernière réponse :
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Dernière intervention
27 janvier 2014
- 26 mars 2010 à 13:36
Bonjour à tous,

j'utilise une base de données sous Access 2003 et j'aimerai faire un select count(distinct) mais comme malheureusement cela n'est pas natif dans ce SGBD, je souhaiterai que quelqu'un puisse m'aider s'il vous plaît. Voici une partie de ma requête :

                rsse15f.Open " Select count(*) as Nombre From TablePatient, TableConsultation, Tablestatut where (TablePatient.numpatient TableConsultation.numpatient And Tablestatut.numstatut TableConsultation.numstatut) " & _
                "   And TablePatient.sexepatient='F' " & _
                "   And TableConsultation.agepatient >= 15 " & _
                "   And Tablestatut.numstatut = " & i & " " & _
                "   And TableConsultation.dateconsultation between cdate('" & txtdate1.Text & "') and cdate('" & txtdate2.Text & "')", cn, adOpenDynamic, adLockOptimistic


Le résultat que j'attends est qu'il puisse m'afficher le nombre distinct de consultation par statut sachant que pour un même numéro de consultation j'ai le même statut.

NB: Je peux avoir par exemple 4 numéros de consultation identique et donc 4 statut identiques aussi. en définitive le nombre de consultation avec le numéro de consultation identique est égal au nombre de statut pour cette consultation. N'hésitez pas à me poser des questions d'éclaircissement.

Merci d'avance à mon sauveur.

Cordialement.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Dernière intervention
27 janvier 2014
- 26 mars 2010 à 13:36
3
Merci
Bonjour tpoinsot et Merci pour ton intervention. Voici la solution à mon problème :

rsse15f.Open " Select count(*) as Nombre From (Select distinct numconsultation TablePatient, TableConsultation, Tablestatut where (TablePatient.numpatient TableConsultation.numpatient And Tablestatut.numstatut TableConsultation.numstatut) " & _
                "   And TablePatient.sexepatient='F' " & _
                "   And TableConsultation.agepatient >= 15 " & _
                "   And Tablestatut.numstatut = " & i & " " & _
                "   And TableConsultation.dateconsultation between cdate('" & txtdate1.Text & "') and cdate('" & txtdate2.Text & "'))", cn, adOpenDynamic, adLockOptimistic


Excellente journée.

Cordialement.

Merci js8bleu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de js8bleu
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Dernière intervention
17 octobre 2014
- 25 mars 2010 à 09:32
0
Merci
bonjour,

Je ne suis pas certain d'avoir bien compris, mais au minimum tu doit faire
select statut, count(*)
si tu veux avoir le nombre de consultations par statut

De plus, n'hésite pas à faire ta requête dans access et voir le sql généré.
Commenter la réponse de tpoinsot

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.