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 :

Count sur plusieurs case when


Sujet :

SQL Oracle

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 173
    Points : 485
    Points
    485
    Par défaut Count sur plusieurs case when
    Bonjour ,

    J'aimerai faire un truc dans ce style la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      CASE WHEN 
      COUNT(
      CASE WHEN CODE_TYPE_RETR_PTT = 1 THEN 0 ELSE 1 END,
      CASE WHEN ADRS_E_MAIL_CLNT IS NOT NULL THEN 1 ELSE 0 END,
      CASE WHEN NUMR_TELP_CORR_CLNT IS NOT NULL THEN 1 ELSE 0 END,
      CASE WHEN NUMR_TELP_DOMC IS NOT NULL THEN 1 ELSE 0 END,
      CASE WHEN NB_DOSS_COMP = 1 THEN 1 ELSE 0 END
     ) = 5 THEN 1 ELSE 0 END testeuh
    Mais je ne sais pas comment le faire correctement et surtout si c'est possible.

    Cordialement,

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CASE WHEN (
      CASE WHEN DCLI_ADRESSES_FISC.CODE_TYPE_RETR_PTT = 1 THEN 0 ELSE 1 END
      +
      CASE WHEN DCLI.DCLI_PROFIL_PARTIC.ADRS_E_MAIL_CLNT IS NOT NULL THEN 1 ELSE 0 END
      +
      CASE WHEN DCLI.DCLI_PROFIL_PARTIC.NUMR_TELP_CORR_CLNT IS NOT NULL THEN 1 ELSE 0 END
      +
      CASE WHEN DCLI_ADRESSES_FISC.NUMR_TELP_DOMC IS NOT NULL THEN 1 ELSE 0 END
      +
      CASE WHEN DPLT_FAITS_DRC_MENS.NB_DOSS_COMP = 1 THEN 1 ELSE 0 END
     ) = 5 THEN 1 ELSE 0 END testeuh
    Ca devrait le faire

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 173
    Points : 485
    Points
    485
    Par défaut
    Je ne savais pas que l'on pouvait faire ça , merci beaucoup tu m'as appris une chose utile.

    Ca à l'air de fonctionner merci beaucoup.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Je dirais même tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CASE WHEN 
                 CODE_TYPE_RETR_PTT = 1 
          AND ADRS_E_MAIL_CLNT IS NOT NULL 
          AND NUMR_TELP_CORR_CLNT IS NOT NULL
          AND NUMR_TELP_DOMC IS NOT NULL 
          AND NB_DOSS_COMP = 1 
      THEN 1 
      ELSE 0 
    END testeuh

  5. #5
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Oui, aieeeuuuuu est beaucoup plus réveillé que moi, y'a pas photo.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 173
    Points : 485
    Points
    485
    Par défaut
    Merci beaucoup ça marche bien

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

Discussions similaires

  1. Statistique count sur plusieurs tables
    Par nsanabi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/03/2009, 11h23
  2. [Oracle] Count(*) sur plusieurs tables
    Par darkangel23fr dans le forum SQL
    Réponses: 2
    Dernier message: 16/02/2009, 11h32
  3. COUNT sur plusieurs tables différentes
    Par Blade dans le forum Langage SQL
    Réponses: 8
    Dernier message: 23/11/2008, 22h29
  4. Count sur plusieurs tables
    Par Remedy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/07/2006, 00h41
  5. Réponses: 8
    Dernier message: 17/05/2006, 14h32

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