IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

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


Sujet :

Requêtes et SQL.

  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

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    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+

  3. #3
    Responsable Arduino et Systèmes Embarqués


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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 755
    Points : 57 607
    Points
    57 607
    Billets dans le blog
    42
    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.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 21
    Points : 12
    Points
    12
    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
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    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+

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 21
    Points : 12
    Points
    12
    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
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    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+

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 21
    Points : 12
    Points
    12
    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