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

SQL Oracle Discussion :

Sélection d'individus qui ne sont dans aucune région


Sujet :

SQL Oracle

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 321
    Par défaut Sélection d'individus qui ne sont dans aucune région
    bonjour,

    j'essaie de créer une requête sur des individu (nom) qui ne sont dans aucun des territoire (france et dom tom) recherché ..
    un même individu peut être sur plusieurs territoires.
    je voudrais retrouvé par exemple les individus qui sont seulement en France métropole..

    je pensais réaliser un select..... avec not in en clause where sur les territoire des DOM tom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct nom from table where TERRITOIRE not in ('guyane','guadeloupe',ect..)
    mais le résultat retourné n'est pas cohérent.


    merci de votre aide..

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 283
    Par défaut
    Bonjour

    Est-il possible d'ajouter un champ à "territoire" pour signaler si c'est la métropole ou non ?

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Il est possible qu'un nom soit plusieurs fois dans ta table. Il est donc possible qu'une ligne avec un nom A soit retourné, alors qu'il existe une autre ligne avec ce même nom A qui ne satisfait pas ta condition.
    Le plus simple pour résoudre cette problématique est de prendre tout les noms présent dans les DOM-TOM et de faire l'inverse :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct nom from table where nom not in (select distinct nom from table where TERRITOIRE in ('guyane','guadeloupe',ect..));

    Problème de la théorie des ensembles sur le croisement des négations d'ensemble.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 321
    Par défaut
    cool merci beaucoup

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 588
    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 588
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par kolodz Voir le message
    Il est possible qu'un nom soit plusieurs fois dans ta table. Il est donc possible qu'une ligne avec un nom A soit retourné, alors qu'il existe une autre ligne avec ce même nom A qui ne satisfait pas ta condition.
    Le plus simple pour résoudre cette problématique est de prendre tout les noms présent dans les DOM-TOM et de faire l'inverse :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct nom from table where nom not in (select distinct nom from table where TERRITOIRE in ('guyane','guadeloupe',ect..));

    Problème de la théorie des ensembles sur le croisement des négations d'ensemble.

    Cordialement,
    Patrick Kolodziejczyk.
    Pour les performances, il est préférable de faire un test d'existence :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select distinct nom 
    from table main
    where not exists 
        (select 1
         from table subq
         where subq.nom = main.nom 
           and subq.TERRITOIRE in ('guyane','guadeloupe',etc...))

    De plus il serait préférable d'avoir des codes territoires plutôt que des libellés

Discussions similaires

  1. [DF] Attribut qui n'est dans aucune DF
    Par gere34 dans le forum Schéma
    Réponses: 6
    Dernier message: 31/05/2010, 12h38
  2. Réponses: 5
    Dernier message: 18/03/2009, 19h31
  3. Réponses: 10
    Dernier message: 15/12/2006, 07h34
  4. Réponses: 11
    Dernier message: 25/04/2006, 01h30
  5. Utiliser les options qui sont dans ma table
    Par valery17 dans le forum Access
    Réponses: 1
    Dernier message: 21/04/2006, 22h45

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