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 MySQL Discussion :

Requete SQL - Probleme de filtre


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Requete SQL - Probleme de filtre
    Bonjour à tous,

    je suis tout nouveau sur ce forum que je parcours activement depuis mes débuts en programmation, soit environ deux ans et je viens aujourd'hui solliciter votre aide concernant une requete SQL qui me pose beacoup de problemes.

    Je vous expose le probleme simplement :
    J'ai une table (fictive) comprenant 2 champs (EQUID) et (STATUT). J'aimerais pouvoir effectuer une requete sur cette table afin de récupérer TOUS les (EQUID) dont tous les statut sont "CLOT". Dans l'exemple ci-dessous, les seuls EQUID dont l'ensemble des STATUT est CLOT seraient les suivants : B,E et G.

    EQUID STATUT
    A OUV
    A A PREP
    A A PREP
    A CLOT
    A CLOT
    B CLOT
    B CLOT
    B CLOT
    C CLOT
    C CLOT
    C OUV
    C CLOT
    D CLOT
    D A PREP
    E CLOT
    F OUV
    F OUV
    F OUV
    G CLOT
    G CLOT

    La solution peux passer par une table intermédiaire comme ci-dessous sur laquelle je pourrais ensuite effectuer un GROUP BY

    EQUID STATUT
    B CLOT
    B CLOT
    B CLOT
    E CLOT
    G CLOT
    G CLOT

    Je vous remercie d'avance de votre aide.

    Cordialement,

    Jérémy.

  2. #2
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 193
    Points : 85 008
    Points
    85 008
    Billets dans le blog
    15
    Par défaut


    Quelque chose comme ceci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT EQUID,STATUT FROM TABLE1 T
    WHERE STATUT= 'CLOT'
    AND NOT EXISTS
    (
    	SELECT 1 FROM TABLE1 WHERE EQUID=T.EQUID AND STATUT <> 'CLOT' 
    )

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour milkoseck, je te remercie pour ton élégante solution. Je viens de tester une autre méthode qui marche également pour ceux que ca intéresse :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    requete = "SELECT DISTINCT [Q1].[ID_EQUID] FROM ("
    requete = requete & " SELECT DISTINCT [TBLTEST].[ID_EQUID] FROM [TBLTEST]) AS [Q1] LEFT JOIN ("
    requete = requete & " SELECT DISTINCT [TBLTEST].[ID_EQUID] FROM [TBLTEST] WHERE [TBLTEST].[ID_STATUT] NOT LIKE '" & "CLOT" & "')  AS [Q2] ON [Q1].[ID_EQUID]=[Q2].[ID_EQUID] WHERE ISNULL(Q2.ID_EQUID)"

    Encore merci à toi pour ton temps et ta réactivité.

    Cordialement,

    Jérémy.


    Quelque chose comme ceci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT EQUID,STATUT FROM TABLE1 T
    WHERE STATUT= 'CLOT'
    AND NOT EXISTS
    (
    	SELECT 1 FROM TABLE1 WHERE EQUID=T.EQUID AND STATUT <> 'CLOT' 
    )

  4. #4
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 193
    Points : 85 008
    Points
    85 008
    Billets dans le blog
    15
    Par défaut
    Bonjour

    Super tout ça. N'oubliez pas le tag , cela pourrait intéresser d'autres.

    @+

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

Discussions similaires

  1. [MySQL] Requete SQL probleme
    Par maxime06 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/10/2010, 16h06
  2. [Connexion BDD Requete SQL] Probleme d'execution
    Par GarsDuCalvados dans le forum VB.NET
    Réponses: 4
    Dernier message: 25/07/2007, 08h22
  3. Requete SQL probleme pour soustraire des résultats
    Par eljeje dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/04/2006, 10h34
  4. [requete SQL] Probleme requete UPDATE
    Par Shiryu44 dans le forum JDBC
    Réponses: 12
    Dernier message: 10/03/2005, 11h41
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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