Bonjour,

je dois pas être réveillé et avoir le cerveau embrumé mais j'ai un petit problème

Voici ce que je souhaite faire.
J'ai la structure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
TABLE MESURE 
b_entity_code
bucket_code
market_code
m_entity_code
indicator_code
value
Les codes sont des entier qui référencent des tables de dimension. Ma table mesure est une table de fait

Mon indicator_code, market_code, bucket_code et m_entity_code sont connus.
Je cherche donc pour chaque b_entity_code le nombre de ligne par valeur.

Mes value peuvent avoir comme valeur 1, 2 ou 3 ou la ligne peut ne pas exister.

Voici ma requête actuelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
select	
case when M.MEASURE_VALUE is null then count(*) end as nb0,
case when M.MEASURE_VALUE = 1 then count(*) end as nb1,
case when M.MEASURE_VALUE = 2 then count(*) end as nb2,
case when M.MEASURE_VALUE = 3 then count(*) end as nb3
FROM BASE_ENTITIES BE LEFT OUTER JOIN  MEASURE  M ON BE.B_ENTITY_CODE = M.B_ENTITY_CODE AND M.INDICATOR_CODE =  1856 AND M.MARKET_CODE =  5 AND M.M_ENTITY_CODE =  968 AND M.BUCKET_CODE =  62 
group by M.MEASURE_VALUE
Ca me permet de récupérer toutes mes base_entity même si la ligne dans mesure n'existe pas.
Seulement j'aimerais récupérer les count sur une seule ligne alors qu'ici je récupère 4 lignes (une pour null, une pour 1, une pour 2, une pour 3)


Ou alors faut-il que je passe par des subselect dans ma requête?

merci d'avance