I have qualified risks with description and creation date, who are attached to subcategory of risks this last ones are attached to category of risks, each risk has a name like 'Risk 1' , my aim is to count the number of risks by name and risk category for the last 3 months.
I have this sql request :
SELECT MONTH(risk.creation_date) as month, count(*) as number, risk_category.name as risk_name FROM risk As risk
JOIN risk_subcategory on risk_subcategory.id = risk.risk_subcategory_id
JOIN risk_category on risk_category.id = risk_subcategory.risk_category_id
where risk.creation_date >= (NOW()-INTERVAL 3 MONTH) GROUP BY MONTH(risk.creation_date), risk_category.name;
it return this result set :
month number risk_name
---------------------------
12 1 Risk 1
12 3 Risk 2
1 1 Risk 3
1 9 Risk 2
2 1 Risk 3
2 1 Risk 1
2 10 Risk 2
I want this result (including 0) :
month number risk_name
---------------------------
12 1 Risk 1
12 3 Risk 2
12 0 Risk 3
1 0 Risk 1
1 1 Risk 3
1 9 Risk 2
2 1 Risk 3
2 1 Risk 1
2 10 Risk 2
How can I do ? Thanks