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 :

Requête sélection ID quand un champ a une valeur


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 114
    Par défaut Requête sélection ID quand un champ a une valeur
    Bonjour,

    J'ai un problème qui semble être pourtant assez simple a faire ...

    J'ai une table ou il y a des adresses, (appelons là adresses) chaque individu peut avoir plusieurs adresses de différents types (Active, historique ...)

    Donc elle ressemble à ça :

    IDIndividu | IDADR | Type
    --------------------------
    X | 1 | Active
    X | 2 | Historique
    Y | 1 | Historique
    Y | 2 | Historique
    .....


    Je voudrai sélectionner tous les individus qui n'ont que des adresses de type Historique

    J'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT ID
    FROM Adresses A
    WHERE 1 = (SELECT COUNT(*) FROM (
    SELECT COUNT(*)
    FROM Adresses B
    WHERE A.ID = B.ID
    GROUP BY Type))
    AND Type = 'Historique'
    Mais le B.ID dans la sous-requête marche pas ...

    Quelqu'un aurait-il une idée ?

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select distinct(A.IDIndividu) from Adresses A
    where A.type='Historique' 
    and not exists (select 1 from Adresses B where A.IDIndividu=B.IDIndividu and B.type <> 'Historique') order by 1
    Par contre si la colonne type peut être NULL ça dépend si tu veux avoir ce cas dans ton résultat
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT ID
    FROM Adresses 
    WHERE TYPE = 'Historique'
    MINUS
    SELECT ID
    FROM Adresses 
    WHERE TYPE <> 'Historique'

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 114
    Par défaut
    Merci c'est niquel Je me suis servi de la requête avec MINUS

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

Discussions similaires

  1. requêter deux fois le même champ dans une table
    Par SpaceFrog dans le forum Requêtes
    Réponses: 6
    Dernier message: 26/11/2007, 13h44
  2. Requête sélection avec comme critère: champ vide
    Par droxyme dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/10/2007, 10h24
  3. Sélection de tous les champs d'une sous-Requête que je redéfini
    Par electrosat03 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/06/2007, 16h43
  4. Réponses: 6
    Dernier message: 12/09/2006, 08h42
  5. Réponses: 9
    Dernier message: 17/10/2005, 17h13

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