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 ne renvoie pas de valeur


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut Count ne renvoie pas de valeur
    Bonjour,

    j'ai besoin d'une requete qui me permette d'afficher un compte de valeur.

    Lorsque j'ai des valeurs, COUNT me renvoie bien le nombre demandé. En revanche, lorsque je n'ai pas de valeur, il ne renvoie rien.

    J'ai trouvé une solution de contournement, mais je pense qu'il y a plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT     TOP (1) NbUp
    FROM         (SELECT     COUNT(Compteur) AS NbUp
                           FROM          FileTable
                           GROUP BY Partial
                           HAVING      (Partial = 0)
                           UNION
                           SELECT     0 AS NbUp) AS tout
    ORDER BY NbUp DESC
    Qu'en pensez-vous ?

    merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Pas de définition des tables
    Pas d'expression de ce que doit faire la requête
    Pas de SGBD mentionné

    Impossible de vous aider. Demander de l'aide, c'est bien. Fournir le minimum d'information pour qu'une aide soit possible, c'est mieux.

    Par respect pour les gens qui tentent de vous aider, merci de fournir le maximum d'information pertinente pour la résolution du problème et leur éviter de réfléchir dans le vide.

  3. #3
    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 738
    Points
    1 738
    Par défaut
    Citation Envoyé par NicoNGRI Voir le message
    Lorsque j'ai des valeurs, COUNT me renvoie bien le nombre demandé. En revanche, lorsque je n'ai pas de valeur, il ne renvoie rien.
    Je ne vois pas ce qu'il y a d'anormal dans tout ça, effectivement sans rien expliquer ou décrire, impossible d'aider

  4. #4
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut
    Bonjour,

    je pense que lire un tant soit peu le bout de code sql permet de comprendre la problématique. Je l'explique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT     COUNT(Compteur) AS NbUp
                           FROM          FileTable
                           GROUP BY Partial
                           HAVING      (Partial = 0)
    dans une table quelconque, on compte le nombre d'enregistrements répondant à une contrainte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     UNION
                           SELECT     0 AS NbUp
    on ajoute une ligne contenant comme valeur 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT     TOP (1) NbUp
    FROM         (SELECT     COUNT(Compteur) AS NbUp
                           FROM          FileTable
                           GROUP BY Partial
                           HAVING      (Partial = 0)
                           UNION
                           SELECT     0 AS NbUp) AS tout
    ORDER BY NbUp DESC
    On affiche uniquement la valeur la plus élevée.

    Comme je l'expliquait, je souhaite que ma requète renvoie 0 s'il n'existe aucun enregistrements correspondant à la contrainte et le nombre d'enregistrements exact lorsque s'il existe des enregistrements correspondants à la contrainte.

    Par ailleurs il est vrai que je n'ai pas indiqué que j'utilisais SQL 2005.

    Merci pour votre temps et votre patience.

  5. #5
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Dans ce cas il faut créer une fonction SQL ou procédure ne fait qu'interroger la base de données fonction de certains critère...c'est un langage d'interrogation de bdd pas un langage de programmation. Le if n'est pas possible encor emoins le return

    Citation Envoyé par NicoNGRI Voir le message
    On affiche uniquement la valeur la plus élevée.

    Comme je l'expliquait, je souhaite que ma requète renvoie 0 s'il n'existe aucun enregistrements correspondant à la contrainte et le nombre d'enregistrements exact lorsque s'il existe des enregistrements correspondants à la contrainte.

    Par ailleurs il est vrai que je n'ai pas indiqué que j'utilisais SQL 2005.

    Merci pour votre temps et votre patience.

  6. #6
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut
    D'accord !

    Dans ce cas, ma requète sera donc plus efficace en terme de ressource.

    Merci Beaucoup

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/04/2009, 02h55
  2. Select Case ne renvoie pas la valeur attendue
    Par H.ile dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/01/2009, 15h58
  3. [A03] Recordsaffected qui ne renvoie pas la valeur escomptee
    Par caro2552 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/01/2009, 12h32
  4. COUNT() selon un pas de valeurs ?
    Par ctobini dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/06/2008, 12h53
  5. Réponses: 3
    Dernier message: 09/11/2006, 00h04

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