Вам нужно либо изменить JOIN
на Regions на RIGHT JOIN
, либо сделать Regions таблицей FROM
, а затем JOIN
на другие таблицы оттуда.метод, так как он кажется более интуитивным для меня.Вы заботитесь о регионах здесь, и вы пытаетесь получить информацию о регионах, так что должно быть в FROM
(IMO):
SELECT
R.RegionName,
COUNT(O.uid)
FROM
Regions R
LEFT OUTER JOIN Customers C ON C.Region = R.uid -- I really don't like this naming convention
LEFT OUTER JOIN Orders O ON
O.CustomerID = C.uid AND
O.DateOrdered LIKE '7%2011%' -- Is your date really stored as a string? Ugh!
WHERE
R.RegionName <> 'NULL' AND -- This is VERY bad...
R.RegionName <> '' AND
R.RegionName <> 'Region 1'
GROUP BY
R.RegionName
ORDER BY
R.RegionName