Sử dụng 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
Nếu bạn có một bảng ngày tháng thì bạn chỉ có thể sử dụng nó thay vì truy vấn phụ để lấy ngày tháng (điều này cũng tránh được vấn đề tiềm ẩn là không có ngày trong kết quả trong một tháng mà không có doanh số bán hàng cho bất kỳ cửa hàng nào) .