SQL : count(*) NULL

Résolu
Stef60 Messages postés 257 Statut Membre -  
Stef60 Messages postés 257 Statut Membre -
Bonjour,
j'ai un souci avec une requete SQL
voici la requete:
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.

3 réponses

  1. Stef60 Messages postés 257 Statut Membre 41
     
    j'ai trouvé la solution.

    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
    2
  2. WinGs Messages postés 249 Statut Membre 34
     
    essaye en rajoutant IS NOT NULL dans tes SELECT a->d
    0
  3. Stef60 Messages postés 257 Statut Membre 41
     
    J'ai essayé avec ca:
    ....
    (SELECT id IS NOT NULL FROM table WHERE prj_id="18" AND status="10") a,
    ....

    et ca me repond "Unknown column 'a.id' in 'field list'"
    0