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 :

probleme avec requete et count


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut probleme avec requete et count
    Bonjour,

    j'ai un souci avec une requete SQL
    voici la requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT count(DISTINCT a.id), count(DISTINCT b.id) , count(DISTINCT c.id), count(DISTINCT d.id)
    FROM
    (SELECT id FROM table WHERE prj_id="18" AND status="10") a,
    (SELECT id FROM table WHERE prj_id="18" AND status="15") b,
    (SELECT id FROM table WHERE prj_id="18" AND status="20") c,
    (SELECT id FROM table WHERE prj_id="18" AND status="40") d
    Mon souci c'est que si une des requetes de la clause FROM (a->d) ne retourne aucune valeur
    alors tous mes count sont egale a 0

    Comment contourner ce probleme?

    D'avance merci.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 390
    Points
    28 390
    Par défaut
    Comme ça
    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
    SELECT  a.cnt
        ,   b.cnt
        ,   c.cnt
        ,   d.cnt
    FROM    (   SELECT  COUNT(DISTINCT id) AS cnt 
                FROM    matable 
                WHERE   prj_id='18' 
                    AND status='10'
            ) AS a
        ,   (   SELECT  COUNT(DISTINCT id) AS cnt 
                FROM    matable 
                WHERE   prj_id='18' 
                    AND status='15'
            ) AS b
        ,   (   SELECT  COUNT(DISTINCT id) AS cnt 
                FROM    matable 
                WHERE   prj_id='18' 
                    AND status='20'
            ) AS c
        ,   (   SELECT  COUNT(DISTINCT id) AS cnt 
                FROM    matable 
                WHERE   prj_id='18' 
                    AND status='40'
            ) AS d 
    ;

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut ca marche
    Merci ca fonctionne impec.
    Grace a toi je vais gagner un temps precieux.
    Et en plus, je peux partir l'esprit tranquille car demain mon boulot va rouler.

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut ajout d'un champs supplementaire
    Bonjour,
    je voudrais ajouter au resultat de la requete un champs.
    Ma requete sert a extraire le nombre de bug en fonction du status et du projet.
    j'aimerai avoir un resultat de la forme:
    PRJ | 10 | 15 | 20
    ------------------------
    projet1 | 2 | 1 | 3
    projet2 | 0 | 4 | 2

    j'arrive a obtenir un resultat correct pour un status avec ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT prj.name, COUNT(DISTINCT bt.id) AS cnt
    FROM mantis_bug_table AS bt, mantis_project_table AS prj
    WHERE project_id=prj.id
    AND bt.STATUS='10'
    GROUP BY prj.id
    Comment je peux faire pour tous les etats?

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 390
    Points
    28 390
    Par défaut
    Il s'agit là de cosmétique, qui n'est pas le but du langage SQL.
    C'est à l'application de se charger de la mise en forme des données.

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

Discussions similaires

  1. Probleme avec requete et sum
    Par Treuze dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/01/2006, 17h28
  2. Probleme avec requete UPDATE sur ACCESS
    Par Chromatic dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/01/2006, 10h03
  3. Probleme avec requete imbriquée
    Par LeDoc dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/09/2005, 17h11
  4. probleme avec requete et sous-requete...
    Par birkoss dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/08/2005, 21h26
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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