Използване на CROSS JOIN:-
SELECT
o.id_outlet,
s_main.periode,
o.branch,
count(msisdn)
FROM
(
SELECT DISTINCT SUBSTRING(date,1,7) AS periode
FROM sales
) s_main
CROSS JOIN outlet o
LEFT OUTER JOIN sales s
ON s_main.periode = SUBSTRING(s.date,1,7)
AND o.id_outlet = s.id_outlet
WHERE (o.STATUS LIKE 'STREET%')
GROUP BY s_main.periode, o.branch, o.id_outlet
Ако имате таблица с дати, тогава можете просто да използвате това вместо подзаявката, за да получите датите (което също така избягва потенциалния проблем да нямате дата в резултатите за месец, когато е имало нулеви продажби за който и да е търговски обект) .