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 :

Interrogations sur méthodes de récupération SQL


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 Interrogations sur méthodes de récupération SQL
    Bonjour à tous,

    après avoir trouvé une solution (grace à milkoseck) à un probleme que je me posait en SQL, je solicite à nouveau votre aide car j'ai actuellement 3 méthodes pour arriver à mes fins mais la dernière ne marche malheureusement pas et je souhaiterais comprendre pourquoi.

    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.

    Voici la tables :

    N° ID_EQUID ID_STATUT
    21 A OUV
    22 A A PREP
    23 A A PREP
    24 A CLOT
    25 A CLOT
    26 B CLOT
    27 B CLOT
    28 B CLOT
    29 C CLOT
    30 C CLOT
    31 C OUV
    32 C CLOT
    33 D CLOT
    34 D A PREP
    35 E CLOT
    36 F OUV
    37 F OUV
    38 F OUV
    39 G CLOT
    40 G CLOT

    Voici mes 3 solutions :

    'SOLUTION V1
    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)"


    'SOLUTION V2
    requete = "SELECT DISTINCT [Q1].[ID_EQUID] FROM [TBLTEST] AS [Q1] WHERE NOT EXISTS ("
    requete = requete & "SELECT [TBLTEST].[ID_EQUID] FROM [TBLTEST] WHERE [Q1].[ID_EQUID]=[TBLTEST].[ID_EQUID] AND [TBLTEST].[ID_STATUT] NOT LIKE '" & "CLOT" & "')"


    'SOLUTION V2_BIS (NE MARCHE PAS CAR NE RENVOIE RIEN "VIDE")
    requete = "SELECT [TBLTEST].[ID_EQUID] FROM [TBLTEST] WHERE NOT EXISTS ("
    requete = requete & "SELECT [TBLTEST].[ID_EQUID] FROM [TBLTEST] WHERE [TBLTEST].[ID_STATUT] NOT LIKE '" & "CLOT" & "')"


    En vous remerciant d'avance,

    Cordialement,

    Jérémy.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Dans la troisième, il n'y a pas de corrélation sur l'ID_EQUID, donc tu n'aurais un résultat que s'il n'y avait aucun CLOT dans toute ta table.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  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
    Merci beaucoup pour ta réponse, je me suis plongé un peu dans le SQL et ai pu comprendre mes erreurs, notemment grace à ton commentaire.

    Cordialement,

    Jérémy.

    Citation Envoyé par Antoun Voir le message
    Dans la troisième, il n'y a pas de corrélation sur l'ID_EQUID, donc tu n'aurais un résultat que s'il n'y avait aucun CLOT dans toute ta table.

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

Discussions similaires

  1. Interrogations sur le fonctionnement du SQL
    Par Zircoun dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/04/2012, 13h33
  2. interrogation sur l'envoi des requetes sql
    Par goute dans le forum Hibernate
    Réponses: 3
    Dernier message: 12/06/2009, 00h14
  3. Interrogations sur SQL Server XE
    Par cnguyen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/08/2006, 15h57
  4. Au secours, sur les licences MS SQL Server
    Par papouAlain dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 31/10/2004, 11h27

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