Compter le nombre d'occurence
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:
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:
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