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

PostgreSQL Discussion :

Vérifier que tous les élements fils sont valables


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Points : 21
    Points
    21
    Par défaut Vérifier que tous les élements fils sont valables
    Bonjour,


    Je cherche à créer une requête liant un élément père à un élément fils (jusque là , facile) et que l'ensemble des éléments fils vérifient une clause donnée.
    Je m'explique par un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Table pere :
            id        |     nom
    -------------|-------------
            1         |      toto
            2         |      tata
     
    Table fils :
     
            id        |     id_pere   |       cond
    -------------|-------------|-------------
            1         |        1        |         0
            2         |        1        |         1
            3         |        2        |         0
            4         |        2        |         0
            5         |        2        |         0
    et donc je voudrais récupérer l'ensemble des pères dont TOUS les fils vérifient la condition cond = 0 (ici, je devrais donc récupérer nom = tata).
    Une idée ???

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Si la condition vaut toujours 0 ou 1 (et jamais une autre valeur ni NULL) et si tu veux aussi récupérer les pères n'ayant aucun fils (ou bien si chaque père a au moins 1 fils), c'est équivalent à chercher tous les pères qui n'ont aucun fils avec cond=1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select p.id , p.nom from pere p
    where not exists (select 1 from fils f where p.id = f.id and f.cond = 1)
    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
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Points : 21
    Points
    21
    Par défaut Merci
    ok, merci
    Le seul problème c'est que ma liste de conditions à vérifier n'est pas exhaustive.

  4. #4
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Que veux-tu dire par là ?
    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/

Discussions similaires

  1. [XMLUnit] Comment vérifier que tous les éléments d'une séquence sont présents
    Par Fifan31 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 21/05/2013, 15h30
  2. Vérifier que tous les champs sont remplis
    Par nico_loin dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 19/12/2012, 11h25
  3. [E-03] Vérifier que tous les caractères sont des chiffres
    Par neiluj26 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/03/2009, 11h48
  4. Vérifier que tous les champs du formulaire soient bien remplis
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2007, 11h59
  5. Réponses: 2
    Dernier message: 31/08/2006, 11h20

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