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 :

Sélectionner pour un champ une seule option seulement


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 88
    Points : 40
    Points
    40
    Par défaut Sélectionner pour un champ une seule option seulement
    Bonjour à tous,
    j'ai une requête contenant des professionnels qui ont des lots et ces lots ont diverses options. (un lot peut avoir plusieurs options différentes, je recherche les lots qui n'ont que des options ZE)
    j'ai donc fait cette requête pour exclure les lots contenants les options différentes de ZE et ne garder que celles qui contiennent uniquement des options ZE.
    quand je fais tourner la deuxième requete pour voir si j'ai des options différentes de celles recherchées , je n'ai bien que ZE, mais si j'exporte les résultats, je m'aperçois que encore des lots sont mélangés (ZE + autres options comme PA par exemple..... alors que dans mon lot je ne veux que des ZE)..
    je n'arrive pas à trouver comment n'avoir que des lots avec des ZE.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE EXEMPLE AS SELECT PRO, LOT, OPTIONS
    FROM PRO
    WHERE OPTIONS NOT IN ('PZ', 'PA', 'ZO') and OPTIONS IN ('ZE')
    GROUP BY PRO, LOT, OPTIONS ;
     
    SELECT DISTINCT OPTIONS FROM EXEMPLE;
    merci à vous

  2. #2
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut
    Je ne comprends pas comment est organisé le champ OPTIONS pour permettre le résultat annoncé; peut-être un extrait du contenu de la table PRO pourrait-il aider ?
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    bonjour

    WHERE OPTIONS NOT IN ('PZ', 'PA', 'ZO') and OPTIONS IN ('ZE').


    se simplifie en

    WHERE OPTIONS = 'ZE'.

    Pour le reste, un extrait du jeu de données en entrée et un exemple de résultat attendu serait le bienvenu

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Consultant MOE-MOA Finance
    Inscrit en
    Novembre 2019
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOE-MOA Finance
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 17
    Points : 36
    Points
    36
    Par défaut
    Bonjour,
    Je pense que ça serait bien de modifier la conception de tes données pour en faire 3 tables: une pour les professionnels, une autres pour les options et une dernière pour faire le lien entre les professionnels et les options auxquelles ils ont accès.
    Et comme l'a indiqué escartefigue, une extraction des données de ta table serait d'une grande aide.
    Je te propose quand même cette requête qui devrait répondre à ton besoin (Les lots où il n'existe pas d'options autres que 'ZE'), il faut juste vérifier si la condition "PRO1.PRO = PRO.PRO" est à garder ou non (ça dépend de tes données)

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT PRO, LOT, OPTIONS
    FROM PRO
    WHERE NOT EXISTS (SELECT 1 FROM PRO PRO1
                      WHERE   PRO1.LOT = PRO.LOT 
    		  -- AND 	PRO1.PRO = PRO.PRO  
    	          AND    PRO1.OPTIONS != 'ZE');

Discussions similaires

  1. [HTML 4.0] regrouper des image pour quelle soit une seule
    Par nostalamigo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 05/04/2009, 15h47
  2. Réponses: 1
    Dernier message: 01/03/2009, 16h53
  3. Créer une feuille qui contient une seule page seulement
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/05/2007, 17h38
  4. Réponses: 3
    Dernier message: 03/05/2007, 15h30
  5. Joindre 2 colonnes pour en afficher une seule
    Par major2 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/04/2005, 15h17

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