I'm gonna answer my own question as I've found an easier way to do it.SELECT x.Gender, COALESCE(b.Num, 0) AS NumFROM (SELECT 'Male' AS Gender UNION SELECT 'Female' AS Gender UNION SELECT 'Unknown' AS Gender) xLEFT OUTER JOIN (SELECT y.Gender, COUNT(*) AS Num FROM (SELECT (CASE WHEN c.Title='Mr' THEN 'Male' WHEN c.Title IN ('Mrs','Miss','Ms') THEN 'Female' ELSE 'Unknown' END) AS Gender FROM LV_Customer c INNER JOIN (SELECT DISTINCT CustomerId FROM view_AllOrders WHERE Status='Complete') z ON c.Id=z.CustomerId) y GROUP BY y.Gender) bON x.Gender=b.Gender