Você pode enumerar datas como pseudo-tabela derivada (com
UNION
) e, em seguida, junte-o aos seus dados SELECT dates.date, COALESCE(attendance.total,0) AS total FROM (
SELECT '2012-07-02' AS date
UNION ALL SELECT '2012-07-03'
UNION ALL SELECT '2012-07-04'
) AS dates
LEFT JOIN attendance USING(date)
Editar:adicionado
COALESCE
para retornar 0
em vez de NULL
em registros ausentes.