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 :

Requete parametrée sur le resultat d'une autre requete


Sujet :

Requêtes et SQL.

  1. #1
    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 Requete parametrée sur le resultat d'une autre requete
    bonjour a vous
    je voudrais que vous m'aidez sur un petit problème
    en faite jais une table stagiaire contenant matricule num_stage type_stage deg_stage
    et j'ai créer une requête sur cette table pour avoir les stage effectué pour chaque personne
    le problème c'est que pour chercher les personnes apte a faire un stage il me faut chercher et identifier les personnes ayant fait 1 2 ou 3 type de stage différent avants
    j arrive pas a extraire les enregistrement pour le même matricule et des critères différent pour un meme num_stage
    vous serez très gentilles de m'aider sur ce problème
    merci

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Rached2005,

    La solution est dans ce tutoriel de notre cher ami Claude : http://claudeleloup.developpez.com/t...tient-paliers/

    A quoi correspond chaque champ : num_stage type_stage deg_stage. A minima il te faut un type de stage, une date et u identifiant de la personne

    Il va falloir creuser un peu, mais cette lecture devrait éclaircir tes lumières.

    JimboLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  3. #3
    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
    merci de la réponse je regarde

  4. #4
    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
    en fait après une petite lecture je trouve pas une réponse
    ce que je cherche exactement les personnes ayant fait exactement plusieurs stage a la foix ( identifié par leur num_stage)
    exp
    matricule_stagiere num_stage
    251----------------------- 1
    251------------------------2
    260------------------------ 1
    591 ------------------------ 6
    260------------------------3
    260------------------------4

    je cherche une solution pour me donner les personnes ayant fait le stage 1 et 2 mais pas le stage 1 seulement ou le 2 seulement

  5. #5
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rached2005

    Je vais te donner un petit coup de main, envoie nous une base avec des exemples (Table Matricule + stages) correspond à ton schéma actuel. Donne nous aussi une liste exhaustive des résultats attendus.

    JimBolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  6. #6
    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
    ma base est en arabe donc je pense pas que vous apprecirez la lecture lol
    mais bon je cherche a executer une deuxieme requete avec les critere qui sont le resultat de la premiere requete
    exemple requete 1 me donne les matricules des personnes ayant fait les stage 1
    la deuxieme me donne ceux du stage 1 qui ont fait le stage 2
    si vous voulez je peut faire un exemple ....

  7. #7
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rached2005

    Cette requête te donne le résultat concernant les matricules ayant fait au moins 2 stages différents :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_Stagiaires.matricule_stagiaire, Count(DLookUp("num_Stage","T_Stagiaires","num_Stage<>" & [Num_Stage] & " AND [matricule_stagiaire] = " & [matricule_stagiaire])) AS Autre_Stage
    FROM T_Stagiaires
    GROUP BY T_Stagiaires.matricule_stagiaire;

    ainsi partant de ton exemple voilà le résultat obtenu :

    matricule_stagiaire Autre_Stage
    251 2
    260 3
    591 0

    Tu retrouveras le nom des champs et des entités directement dans ta requête !

    Si tu ne souhaites pas afficher la valeur 0 afin d'éliminer le matricule 591 il faudra rajouter une condition Where :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T_Stagiaires.matricule_stagiaire, Count(DLookUp("num_Stage","T_Stagiaires","num_Stage<>" & [Num_Stage] & " AND [matricule_stagiaire] = " & [matricule_stagiaire])) AS Autre_Stage
    FROM T_Stagiaires
    GROUP BY T_Stagiaires.matricule_stagiaire
    HAVING (((Count(DLookUp("num_Stage","T_Stagiaires","num_Stage<>" & [Num_Stage] & " AND [matricule_stagiaire] = " & [matricule_stagiaire])))>0));

    Si tu souhaites afficher la liste des stages, soit passer par une requête imbriquée ou une nouvelle requête mettant en jointure ta table Stagiaires et le résultat de cette requête.

    Mais in fine si le résultat est bien celui que tu recherchais, la réponse était bien dans le tutoriel de Claude. Il fallait juste extrapoler les différentes réflexions que ce dernier a pu exposer dans son précieux document.

    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  8. #8
    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
    merci pour la reponse mais ce n'est pas ce que je recherche
    je cherche a identifier les personnes ayant fait des type de stage ( 1 2 ou plus )
    exp je cherche tout les personnes ayant fait le stage num 2 et le stage num 3 mais pas ceux qui ont fait le 2 seulement ou le 3 seulement
    je vais essayer de creer un exemple
    merci

  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
    voici un exemple
    Fichiers attachés Fichiers attachés

  10. #10
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rached2005,



    Il faut que ton exemple soit exhaustif des cas d'utilisation ce qui à priori n'est pas le cas ! finalement ce que je veux c'est une table représentant à la fois les types de stages (2,3 5...) avec toutes les situations possibles.

    A partir d'un exemple précis tu adopteras la méthode ensuite..

    Il manque une jonction sur la table agents ??

    Voilà ce que me représente la sortie :

    matricule degretstage
    260 5
    741 5
    740 2
    1007 2
    260 3
    1011 2
    909 2
    433 2
    1008 2

    Donc je ne trouve aucun matricule me permettant de valider la requête (stage de type 2 et 3) si le type correspond bien au degré. Donc un exemple précis avec une seule table (les jointures n'altèrent pas le résultat) et les différents cas (type 2 et 3, un seul type 2, un seul type 3, des matricules hors types 2 et 3) et le résultat recherché.

    Cordialement

    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  11. #11
    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
    voici un autre exemple
    dans ce cas je cherche les personnes ayant fait le stage numtypestage 1 et 4
    ca devrais me donner le resultat suivant le matricule 3 seulement
    Fichiers attachés Fichiers attachés

  12. #12
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rached2005,

    J'ai constitué une requête intermédiaire (Qry_TypeStage) afin de préparer la requête fournissant ta réponse

    La requête Final Qry_Reponse fournit le résultat

    Jimbolion
    Fichiers attachés Fichiers attachés
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  13. #13
    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
    ca marche tres bien merci
    tag resolu

  14. #14
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Rached,

    Attention dans cette requête il est spécifié des paramètres donnés par tes indications. Dans la constitution de tes prochains appels, il serait peut être souhaitable de spécifier tes contraintes dans un formulaire et générer cette requête à la volée en modifiant dynamiquement son contenu :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT matricule
    FROM Qry_TypeStage AS T1
    WHERE TypeStage = 1                                     
           AND  t1.matricule IN (SELECT matricule FROM Qry_TypeStage T2       
                WHERE TypeStage = 4)                               
           AND  t1.matricule NOT IN (SELECT matricule FROM Qry_TypeStage T2   
                WHERE TypeStage = 2);


    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  15. #15
    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
    et domage ca me donne pas le resultat esperé
    en faite ca donne tout les personnes ayant fait les stage parametré
    en faite je pensais a une idée simple
    faire une requete qui donne les matricules des personnes ayant fait le stage numX
    apres une deuxieme qui utulise ces matricules comme choix et numstageY comme un choix num stage
    je suis pas tres sur mais je parcour le forum : est ce que un Recordset serais convenable ( bien que je ne sais pas comment faire ) lol

  16. #16
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rached2005,

    Il faut que ton exemple soit exhaustif des cas d'utilisation ce qui à priori n'est pas le cas ! finalement ce que je veux c'est une table représentant à la fois les types de stages (2,3 5...) avec toutes les situations possibles.

    A partir d'un exemple précis tu adopteras la méthode ensuite..
    Donc message mal posé !



    jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  17. #17
    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
    jimbolion ce n'est pas parceque je ne veux pas mais c'est parceque ma base est en arabe donc serieusement je pense pas que tu comprendrais quelque chose
    bref regarde ici http://www.developpez.net/forums/d12...uete-possible/
    c'est pratiquement le resultat que je veux mais sur 3 critere pas 2 depuis un formulaire
    cordialement
    rached
    je sais je fait la casse tete au autres mais je suis dsl

  18. #18
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rached2005

    Si ta réponse est dans ce post c'est très simple, tu appliques la même méthode : TblEleve à remplacer par Qry_TypeStage, Competence par TypeStage, nom et prenom par matricule !

    Il suffit d'adapter

    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  19. #19
    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
    ca marche sur 3 critere depuis un formulaire ?

  20. #20
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rached2005,

    Déjà valide sur plusieurs exemples cette requête en essayant des valeurs !

    Ensuite il faudra en fonction de ton formulaire spécifier les contraintes :

    exemple je souhaite récupérer les matricules ayant effectués tel stage et tel stage mais pas celui-ci. Ensuite ton formulaire devra générer la requête par code vba afin de te retourner le résultat.

    Quand je te demande un exemple, inutile que celui-ci soit dans une base de données. Un descriptif complet avec un exemple me suffit.
    Ce qui m'ennuie dans ton post, c'est que je n'arrive pas à visualiser ta demande. L'exemple que tu m'as fourni devait sortir un résultat (le matricule 3), ce que donne ma requête et le résultat ne te satisfaisait pas et je ne sais toujours pas pourquoi.

    Partons d'un exemple simple avec une table contenant matricule et numStage. Ensuite tu m'expliques exactement ce que tu souhaites faire, en fournissant les sorties désirées pour chacun de tes cas.

    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

Discussions similaires

  1. Filtrer sur le resultat d'une sous-requete
    Par MinsK dans le forum Requêtes
    Réponses: 7
    Dernier message: 26/11/2009, 16h45
  2. Réponses: 11
    Dernier message: 03/03/2009, 01h03
  3. Réponses: 1
    Dernier message: 20/02/2009, 18h48
  4. SQL sur le resultat d'une autre requete SQL
    Par skillipo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/12/2007, 16h45
  5. Requete SQL sur le resultat d'un autre Requete SQL
    Par Redsky dans le forum Bases de données
    Réponses: 8
    Dernier message: 02/08/2005, 11h55

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