Discussion: Une requête est-elle possible ? [Toutes versions]

  1. #1
    Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2011
    Messages : 52
    Points : 55
    Points
    55

    Par défaut Une requête est-elle possible ?

    Bonsoir,

    Je vous expose un problème simple à comprendre me semble -t-il,
    Mais pour lequel je ne suis pas certain qu'une requête SQL puisse donner une solution.
    Comme je ne suis pas expert en la matière permettez moi de vous exposer le problème.

    Considérons une table Eleve,
    Dans laquelle figure 3 champs: NomEleve----PrenomEleve--- Competence

    Voilà un exemple de Table sur laquelle je travaille:
    NomEleve-- PrenomEleve --- Competence
    Nom1 -------Prénom1----------5
    Nom1 -------Prénom1----------7
    Nom1 -------Prénom1----------12
    Nom1 -------Prénom1----------19
    Nom1 -------Prénom2----------1
    Nom2 -------Prénom3----------5
    Nom2 -------Prénom3----------7
    Nom2 -------Prénom3----------5
    Nom3 -------Prénom4----------5
    Nom4 -------Prénom5----------5
    Nom4-------Prénom5----------7

    Le résultat de la requête serait de déterminer par exemple la liste des élèves qui aurait les compétence 5 ET 7.

    Pouvez vous m'aidez, merci d'avance
    N'oubliez pas de noter et modifier le titre de votre sujet en plaçant [RESOLU] devant , une fois qu'une réponse satisfaisante vous a été donnée.

    Ce qui compte ne peut pas toujours être compté, et ce qui peut être compté ne compte pas forcément.Einstein.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    10 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 10 347
    Points : 15 440
    Points
    15 440

    Par défaut

    Je le ferai en 3 requêtes :

    1. R1 Elèves avec la compétence 5
    2. R2 Elèves avec la compétence 7
    3. R3 Élèves qui sont dans R1 et R2


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Rédacteur/Modérateur

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    8 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 8 714
    Points : 34 470
    Points
    34 470
    Billets dans le blog
    9

    Par défaut

    Salut collègue,

    une possibilité:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT NomEleve, PrenomEleve
    FROM TblEleve
    WHERE Competence IN (5,7)
    GROUP BY NomEleve, PrenomEleve
    HAVING Count(*)=2

    ...mais j'espère que la vraie table comporte les champs (identifiantEleve, identifiantCompetence)

  4. #4
    Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2011
    Messages : 52
    Points : 55
    Points
    55

    Par défaut

    Merci ça fonctionne à merveille !
    J'ai encore du chemin à faire pour être à l'aise avec les requêtes on dirait.
    N'oubliez pas de noter et modifier le titre de votre sujet en plaçant [RESOLU] devant , une fois qu'une réponse satisfaisante vous a été donnée.

    Ce qui compte ne peut pas toujours être compté, et ce qui peut être compté ne compte pas forcément.Einstein.

  5. #5
    Futur Membre du Club
    Inscrit en
    mars 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : mars 2013
    Messages : 19
    Points : 8
    Points
    8

    Par défaut autre condition

    tres bonne idée
    mais si je veux avoir ceux qui ont la competence 1 et 5 mais pas 7
    on ferais comment
    merci

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    10 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 10 347
    Points : 15 440
    Points
    15 440

    Par défaut

    Bonjour.

    Le 7 n'intervient pas dans ta sélection puisque 1 et 5 sont déjà différent de 7.

    si tu veux seulement ceux qui n'ont pas 7

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Futur Membre du Club
    Inscrit en
    mars 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : mars 2013
    Messages : 19
    Points : 8
    Points
    8

    Par défaut

    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Le 7 n'intervient pas dans ta sélection puisque 1 et 5 sont déjà différent de 7.

    si tu veux seulement ceux qui n'ont pas 7

    A+
    bon après essais ca ne me convient pas la solution proposé
    en effet cette requette me donne tout les élèves ayant la compétence 1 ou la compétence 5
    je vise par contre seulement les élèves qui ont la competence 1 et 5
    j explique : un élève qui a comp 1 apparaît alors qu'il na pas la 5
    voila j’espère me faire comprendre avec mon francais lol
    et en deuxieme etapes faudra que jelimine depuis le resultat ceux qui ont la comp 7
    merci

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    10 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 10 347
    Points : 15 440
    Points
    15 440

    Par défaut

    Si tes compétences sont "Fixes", je reviens à ma 1ère suggestion.

    Je le ferai en 3 requêtes :

    1.R1 Elèves avec la compétence 5
    2.R2 Elèves avec la compétence 7
    3.R3 Élèves qui sont dans R1 et R2
    Une autre possibilité serait de faire un truc du genre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select [tblEtudiant].*, DCount("ClefComptence", "tblCompetence", 
      "[ClefEtudiant]=" & [tblEtudiant].[ClefEtudiant] & " and [ClefComptence]=1" as NbComptence1
      "[ClefEtudiant]=" & [tblEtudiant].[ClefEtudiant] & " and [ClefComptence]=5" as NbComptence5
      "[ClefEtudiant]=" & [tblEtudiant].[ClefEtudiant] & " and [ClefComptence]=7" as NbComptence1
        from [tblEtudiant]

    Une fois cela fait il suffit de filtrer ceux qui ont NbComptence1=1, NbComptence5=1 et NbComptence7=0.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Futur Membre du Club
    Inscrit en
    mars 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : mars 2013
    Messages : 19
    Points : 8
    Points
    8

    Par défaut

    Citation Envoyé par marot_r Voir le message
    Si tes compétences sont "Fixes", je reviens à ma 1ère suggestion.



    Une autre possibilité serait de faire un truc du genre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select [tblEtudiant].*, DCount("ClefComptence", "tblCompetence", 
      "[ClefEtudiant]=" & [tblEtudiant].[ClefEtudiant] & " and [ClefComptence]=1" as NbComptence1
      "[ClefEtudiant]=" & [tblEtudiant].[ClefEtudiant] & " and [ClefComptence]=5" as NbComptence5
      "[ClefEtudiant]=" & [tblEtudiant].[ClefEtudiant] & " and [ClefComptence]=7" as NbComptence1
        from [tblEtudiant]

    Une fois cela fait il suffit de filtrer ceux qui ont NbComptence1=1, NbComptence5=1 et NbComptence7=0.

    A+
    merci de la réponse rapide je ferais des requettes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cette requête est-elle possible ?
    Par cherche_encore dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/08/2013, 09h55
  2. Ma requête est elle possible?
    Par un_passant dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/02/2012, 10h24
  3. cette requête est-elle possible ?
    Par night_flyers dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2009, 13h12
  4. Réponses: 7
    Dernier message: 17/07/2008, 09h32
  5. Optimiser une requête..est-ce possible ?
    Par Thierry8 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/09/2005, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo