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

Langage SQL Discussion :

problème de formulation d'une requête


Sujet :

Langage SQL

  1. #1
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut problème de formulation d'une requête
    Salut!

    J'ai un souci avec une requête...
    En fait, je ne sais pas comment formuler ma requête pour qu'elle fasse ce que je veux.
    Voilà mon problème :

    - J'ai une table DEPGRP contenant 2 champs : département (numérique) et groupe (numérique)
    Un département peut etre composé de plusieurs groupes.
    - Une autre table GRPUTI met en relation les utilisateurs et les groupes en disant à quels groupes appartient un utilisateur. Un utilisateur (numérique) peut appartenir à plusieurs groupes (numérique).
    - J'ai récupéré les groupes auxquels appartient un utilisateur dans un tableau appelé $tabGroupe

    Mon problème est que je dois maintenant récupèrer les départements pour lesquels l'utilisateur appartient à tous les groupes composant le département...

    Illustration :
    - soit un utilisateur U1 appartenant aux groupes G1 et G2
    - soit 3 départements D1, D2 et D3
    - D1 est composé du groupe G1
    - D2 est composé des groupes G1 et G2
    - D3 est composé des groupes G1 et G2 et G3

    Ma requete devrait retourner les départements D1 et D2
    D3 comprenant le groupe G3 auquel n'appartient pas U1 n'est pas retenu...

    Si quelqu'un pouvait me donner un coup de main, ce serait sympa...
    Merci d'avance!

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Veuillez poster dans le respect de la pure tradition des postes dans le forum Language SQL.

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Pas le temps d'écrire la requête maintenant (ce soir si personne n'a répondu), mais l'idée c'est de compter les groupe communs à un utilisateur et à un département et se demander si ce nombre est égal au nombre de groupes du département.

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Citation Envoyé par pgibone
    Pas le temps d'écrire la requête maintenant (ce soir si personne n'a répondu), mais l'idée c'est de compter les groupe communs à un utilisateur et à un département et se demander si ce nombre est égal au nombre de groupes du département.
    Merci pour le coup de main...

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Si je comprends bien on a :

    DEPGRP
    ---------

    GRP | DEPT
    ---------------
    D1 | G1
    D2 | G1
    D2 | G2
    D3 | G1
    D3 | G2
    D3 | G3

    GRPUTI
    ---------

    GRP | UTI
    ---------------
    G1 | U1
    G2 | U1

    Dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT distinct dep
      FROM DEPGRP d, GRPUTI g
     WHERE g.uti = 'U1'
       AND d.grp = d.grp
       AND NOT EXISTS (
         SELECT 1 FROM depgrp d2
          WHERE d2.dep = d.dep
            AND d2.grp NOT IN ( SELECT grp FROM grputi WHERE uti = 'U1')
         );
    Je sélection les départements de l'utilisateur où il n'existe pas de groupe pour chacun de ces départements (D1, D2, D3) qui ne serait pas dans la liste des groupes de l'utilisateur (G1 et G2).

    D3 est bien dans G3 qui n'est pas un groupe de U1 donc on ne l'affiche pas

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

Discussions similaires

  1. Problème à la formulation d'une requête
    Par Shiva dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/09/2010, 10h43
  2. [10g] Problème de privilège dans une requête
    Par hotkebab99 dans le forum Oracle
    Réponses: 6
    Dernier message: 01/03/2006, 12h00
  3. Problème de perfomances dans une requête
    Par claralavraie dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/01/2006, 14h25
  4. [SQL] Problème de résultat avec une requête
    Par raptorman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2006, 17h16
  5. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17

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