Verwendung eines 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
Wenn Sie eine Datumstabelle haben, können Sie diese anstelle der Unterabfrage verwenden, um die Daten abzurufen (was auch das potenzielle Problem vermeidet, dass in den Ergebnissen für einen Monat, in dem es für keine Verkaufsstelle null Verkäufe gab, kein Datum angezeigt wird). .