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 :

Somme de count et having


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut Somme de count et having
    J'ai trois tables de liaison :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pays (id_pays, id_truc)
    region(id_region, id_truc)
    dpt (id_dpt, id_truc)
    et une table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    truc(id_truc, machin, bidule)
    je voudrais récupérer les trucs qui sont référencés au moins 3 fois dans l'ensemble des tables de liaison. Ex :
    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
    Pays
    p1 t1
    p1 t2
     
    Region
    r1 t1
    r2 t1
    r3 t2
     
    Dpt
    d1 t1
    d2 t3
     
    Truc
    t1 a b
    t2 c d
    t3 e f
    La requête que j'essaie péniblement de faire devrait donner t1 car :
    select count(*) from pays = 1 pour t1 et t2
    select count(*) from region = 2 pour t1 et = 1 pour t2
    select count(*) from dpt = 1 pour t1 et t3
    et la somme des 3 donne :
    pour t1 : 4
    pour t2 : 2
    pour t3 : 1

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    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
     
    With pays as
    ( Select 'p1' id_pays, 't1' id_truc from dual
      Union ALL
      Select 'p1' id_pays, 't2' id_truc from dual
    ),
    region as
    (
      Select 'r1' id_region, 't1' id_truc from dual
      UNION ALL
      Select 'r2' id_region, 't1' id_truc from dual
      UNION ALL
      Select 'r3' id_region, 't2' id_truc from dual
    ),
    dpt as
    (
      Select 'd1' id_dpt, 't1' id_truc from dual
      UNION ALL
      Select 'd2' id_dpt, 't3' id_truc from dual
    )
    Select id_truc from (
      Select 1, id_pays, id_truc from pays
      Union ALL
      Select 2, id_region, id_truc from region
      Union ALL
      Select 3, id_dpt, id_truc from dpt
    )
    group by id_truc
    having count(*) >= 3
    /
     
    ID
    --
    t1

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut
    Merci !

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

Discussions similaires

  1. Somme de count et Alias ordonné pour 12 derniers mois
    Par beginner936 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/03/2014, 11h31
  2. Somme de COUNT()
    Par snay13 dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/02/2012, 20h26
  3. COUNT avec HAVING et ORDER BY
    Par Iris11 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/11/2009, 14h02
  4. Requete select count(*) avec having max()
    Par Goupo dans le forum Langage SQL
    Réponses: 10
    Dernier message: 09/03/2009, 12h50
  5. Somme de count() , requete imbriqué?
    Par mamiberkof dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2008, 16h10

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