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

MS SQL Server Discussion :

Requete - Sous-requete


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 66
    Points : 46
    Points
    46
    Par défaut Requete - Sous-requete
    Bonjour,

    J'ai une table avec un ensemble de personnes, je souhaiterais selectionner toutes les personnes étant responsables de au moins une personne ayant le status actif='O'

    Exemple de données:
    id matricule nom prenom responsable_hierarchique actif
    1 001445 test1 test1 NULL O
    2 001446 test2 test2 1 O
    3 001447 test3 test3 NULL O
    4 001448 test4 test4 NULL O
    5 001449 test5 test5 4 O
    6 001450 test6 test6 NULL N
    7 001451 test7 test7 3 O
    8 001452 test8 test8 3 N
    Je commence par extraire toutes les personnes actives de ma table:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT maTable.id, 
    maTable.nom, 
    maTable.prenom 
    from maTable 
    WHERE responsable<> 0 
    and actif='O'
    Ma question est, comment de manière efficace puis-je intégrer ce select dans une autre requête pour me fournir la liste des responsables ?

    Merci à vous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    with SR as (SELECT A1.responsable_hierarchique
    FROM maTable A1
    WHERE A1.responsable_hierarchique IS NOT NULL 
    GROUP BY A1.responsable_hierarchique)
    select A2.id, a2.matricule, a2.prenom, a2.nom
    from maTable A2
    join SR 
    	on SR.A1.responsable_hierarchique = A2.id

  3. #3
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    ou quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
     T.matricule,
     T.nom,
     T.prenom
    FROM maTable AS T
    WHERE responsable_hierarchique IS NULL
     AND EXISTS (SELECT * FROM maTable AS T2 WHERE T.id = T2.responsable_hierarchique
                 AND T2.actif = 'O') ;
    ++

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 66
    Points : 46
    Points
    46
    Par défaut
    Je vous remercie, je teste de ce pas...

Discussions similaires

  1. sous requetes sous sql server
    Par momedalhouma dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2012, 09h29
  2. Syntaxe du sous-requete sous delphi
    Par abeny dans le forum Langage
    Réponses: 9
    Dernier message: 09/06/2010, 02h23
  3. Pb requete sous requete - NOT IN
    Par Silvia12 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/05/2009, 08h34
  4. Ajouter résultat d'une sous requete à une requete principale
    Par pioupioudancer dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/11/2007, 12h19
  5. [Access 97] plusieurs sous requetes dans requetes!!!
    Par T'chab dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/05/2006, 14h07

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