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

Oracle Discussion :

lien sur meme table et comptage


Sujet :

Oracle

  1. #1
    En attente de confirmation mail
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut lien sur meme table et comptage
    Bonjour

    j'ai une seule et meme table objet


    4 champs

    champs equipement
    champ category
    champ type
    champ utilisé

    une categorie est un objet de type C

    un equipement est un objet de type E

    un equipement non utilisé est à -
    un equipement utilisé est à +

    tout equipement à le champ categorie renseigné

    je voudrais pouvoir connaitre toutes les categories qui n'ont pas d'equipement utilisé

    est ce simple en sql pur?

  2. #2
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Tu peux être plus précis sur ta table?

    Si ton champ utilisé permet de savoir si un équipement est utilisé fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct category from objet where utilisé='-';
    EDIT: autant pour moi pour les balises

  3. #3
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par tib1664
    Tu peux être plus précis sur ta table?
    +1
    Peux-tu donner un jeu d'essai et le résultat attendu ?

    tib1664 : merci de penser aux balises code pour plus de lisibilité

  4. #4
    En attente de confirmation mail
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut précisions sur table
    ex table objet

    type equipement categorie utilisé
    C C1 +
    C C2 +
    C C3 +
    E E1 C1 +
    E E2 C1 +
    E E3 C2 +
    E E4 C2 -
    E E5 C3 -

    résultat C3 car 0 equipement utilisé

    C2 et C1 sont des categories encore utilisées (3 et 1 equipement)

    si E3 devient inutilisé l résultats devra etre C3,C2

    le pb est que la catégorie est une pk de type C et l'equipement une pk de type E,le champ categorie pour un equipement est renseigné (comme une auto jointure )

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Voilà qui doit répondre à ta question :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    SQL> select categorie, equipement, type, utilise from test;
    CATEGORIE                      EQUIPEMENT                     TYPE                           UTILISE
    ------------------------------ ------------------------------ ------------------------------ -------
    C1                                                            C                              +
    C2                                                            C                              +
    C3                                                            C                              +
    C1                             E1                             E                              +
    C1                             E2                             E                              +
    C2                             E3                             E                              +
    C2                             E4                             E                              -
    C3                             E5                             E                              -
    8 rows selected.
     
    SQL> select distinct categorie
      2  from test t1
      3  where not exists (select 1
      4                    from test t2
      5                    where t2.categorie = t1.categorie
      6                      and t2.type = 'E'
      7                      and t2.utilise = '+')
      8   and type = 'C';
     
    CATEGORIE
    ------------------------------
    C3
     
    SQL> update test set utilise = '-' where equipement = 'E3';
    1 row updated.
     
    SQL> select distinct categorie
      2  from test t1
      3  where not exists (select 1
      4                    from test t2
      5                    where t2.categorie = t1.categorie
      6                      and t2.type = 'E'
      7                      and t2.utilise = '+')
      8   and type = 'C';
     
    CATEGORIE
    ------------------------------
    C2
    C3

  6. #6
    En attente de confirmation mail
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut merci à plaineR
    c'est pile poil le resultat attendu

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

Discussions similaires

  1. [Oracle] Afficher deux requêtes differents sur meme table
    Par Leroychama dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 20/08/2014, 11h06
  2. [SageX3V5] Lien sur une table via un champ non clé
    Par Cereal123 dans le forum SAGE
    Réponses: 2
    Dernier message: 22/05/2013, 11h06
  3. probleme avec jointure sur meme table
    Par looping dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/03/2010, 12h18
  4. jointure sur meme table
    Par edenyorke dans le forum Hibernate
    Réponses: 10
    Dernier message: 11/06/2007, 14h36
  5. Association 1:n sur une meme table
    Par dafalcon dans le forum Décisions SGBD
    Réponses: 15
    Dernier message: 27/04/2005, 09h07

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