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

Langage SQL Discussion :

COUNT() retourner valeur NULL ?


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut COUNT() retourner valeur NULL ?
    Bonjour à tous,

    Je suis sur DB2 AS400 et je souhaite effectuer un comptage sur une table, mais sur des valeurs inexistantes (sachant qu'elles existent pour d'autres tuples) :

    Mon but est que, pour une liste de valeurs, la valeur NULL ou une substitution soit affichée.

    Exemple :

    Table1
    Col1____Effectif
    A______1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Col1, COUNT(Effectif)       
    FROM Table1
    WHERE Effectif IN (2, 3, 4)
    GROUP BY Col1
    Le but étant que, dans mon exemple, soient retournées :

    Col1____COUNT(Effectif)
    A______NULL (ou autre)

    Puisque je souhaite vérifier que l'ensemble des valeurs 2, 3 et 4 ne soit pas présent

    Pourriez-vous m'aider à faire ceci svp ?

    Je vous remercie,

    C. Tobini

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,


    Quelque chose comme ça peut être ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    WITH TMP (col1, effectif) AS 
    (SELECT 'A', 1 FROM sysibm.SYSDUMMY1 
    UNION ALL
    SELECT 'A', 5 FROM sysibm.SYSDUMMY1
    )
    SELECT col1, SUM(CASE WHEN effectif IN (2, 3, 4) THEN 1 ELSE 0 END) 
    FROM TMP
    GROUP BY col1;
    résultat :
    A 0

  3. #3
    Membre actif
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Points : 210
    Points
    210
    Par défaut
    J'ai déjà eu ce problème avec une fonction sum. Essaye de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Col1, if (isnull(COUNT(Effectif)), 0, COUNT(Effectif))  
    FROM Table1
    WHERE Effectif IN (2, 3, 4)
    GROUP BY Col1
    J'espère que ça peut t'aider

  4. #4
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Osuwariboy, si tu laisse ton WHERE, les lignes qui ne contiennent pas les valeurs seront filtrées et n'apparaîtront pas du tout dans le résultat !

    Donc je vote pour la solution de punkoff, en remplaçant le 0 par NULL dans le case

Discussions similaires

  1. [2008] Count retourne la valeur NULL au lieu de zéro
    Par sabouha0110 dans le forum SSIS
    Réponses: 1
    Dernier message: 25/04/2011, 19h23
  2. Pas d'affichage des valeurs nulles avec un COUNT
    Par phoenixz22 dans le forum Langage SQL
    Réponses: 13
    Dernier message: 30/05/2007, 18h39
  3. [SQL] Affichage des valeurs nulles dans un Count
    Par at_first dans le forum Access
    Réponses: 4
    Dernier message: 06/03/2007, 11h07
  4. [Servlet] pb multipart/form-data retourne valeur null
    Par Doumeasse38 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/05/2006, 08h46
  5. Valeur null retournée par un champ TAggregate
    Par tarbala dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/04/2006, 20h56

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